MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách nối chuỗi trong SQL

Hầu hết các RDBMS chính cung cấp một số tùy chọn để nối hai hoặc nhiều chuỗi.

  • CONCAT() hàm, nối các đối số của nó.
  • Ngoài ra còn có một CONCAT_WS() cho phép bạn chỉ định dấu phân tách để phân tách các chuỗi được nối.
  • Ngoài ra, còn có một toán tử nối chuỗi, cho phép chúng ta nối các toán hạng của nó.

Dưới đây là các ví dụ về từng phương pháp.

CONCAT() Chức năng

Hầu hết các RDBMS chính đều cung cấp CONCAT() hàm để nối các đối số chuỗi của nó. Nói chung, các đối số không phải là chuỗi được chuyển đổi thành chuỗi trước khi quá trình nối xảy ra.

Ví dụ:

SELECT CONCAT('Bangkok', 'Breaking');

Kết quả:

BangkokBreaking

Với hàm này, nếu chúng ta muốn bao gồm một khoảng trắng giữa các chuỗi, chúng ta cần thêm một khoảng trắng vào một trong các chuỗi hoặc bao gồm một khoảng trắng dưới dạng một đối số riêng biệt:

SELECT 
    CONCAT('Bangkok ', 'Breaking') AS "Option 1",
    CONCAT('Bangkok', ' ', 'Breaking') AS "Option 2";

Kết quả:

+------------------+------------------+
| Option 1         | Option 2         |
+------------------+------------------+
| Bangkok Breaking | Bangkok Breaking |
+------------------+------------------+

RDBMS có CONCAT() chức năng bao gồm MySQL, MariaDB, SQL Server, Oracle và PostgreSQL.

SQLite không bao gồm CONCAT() chức năng, nhưng nó không có một toán tử nối chuỗi (xem bên dưới).

CONCAT_WS() Chức năng

Một cách khác để bao gồm khoảng trắng giữa các chuỗi là sử dụng CONCAT_WS() hàm số. Hàm này cho phép bạn chỉ định một dấu phân tách sẽ được sử dụng để phân tách tất cả các chuỗi được nối.

Ví dụ:

SELECT CONCAT_WS(' ', 'Bangkok', 'Breaking');

Kết quả:

Bangkok Breaking

Hàm này có thể đặc biệt hữu ích nếu bạn có nhiều chuỗi để nối:

SELECT CONCAT_WS(', ', 'Red', 'Green', 'Orange', 'Blue');

Kết quả:

Red, Green, Orange, Blue

Trong những trường hợp như vậy, bạn chỉ cần chỉ định dấu phân tách một lần.

RDBMS có CONCAT_WS() bao gồm MySQL, MariaDB, SQL Server và PostgreSQL.

SQLite và Oracle không có CONCAT_WS() chức năng, nhưng chúng làm có một toán tử nối chuỗi (xem bên dưới).

Toán tử ghép chuỗi

Hầu hết các RDBMS đều bao gồm toán tử nối chuỗi nối các toán hạng của nó.

Nếu bạn đang sử dụng SQLite, đây là lựa chọn duy nhất của bạn.

Ví dụ:

SELECT 'Spy' || 'craft';

Kết quả:

Spycraft

Lưu ý rằng trong MySQL, trước tiên bạn cần bật toán tử nối ống dẫn.

Tương tự với MariaDB.

Máy chủ SQL

Ví dụ trên sẽ không hoạt động trong SQL Server. Trong SQL Server, sử dụng dấu cộng (+ ) toán tử nối chuỗi:

SELECT 'Spy' + 'craft';

Kết quả:

Spycraft

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách kích hoạt các truy vấn MongoDB thô trực tiếp trong Ruby

  2. Tại sao nên học MongoDB - 10 lý do nên học MongoDB cho năm 2022

  3. Các cụm MongoDB hiệu suất cao trên Amazon EC2

  4. Cách tạo người dùng trong mongodb với docker-compile

  5. Nâng cấp các phần tử mảng phù hợp với tiêu chí trong tài liệu MongoDB?