Trong PostgreSQL, CONCAT_WS()
hàm nối hai hoặc nhiều chuỗi, đặt dấu phân cách giữa mỗi chuỗi. Dấu phân tách được chỉ định bởi đối số đầu tiên.
Cú pháp
Cú pháp như sau:
concat_ws(sep text, str "any" [, str "any" [, ...] ])
Trong đó sep text
là dấu phân cách để sử dụng.
Ví dụ
Dưới đây là một ví dụ để chứng minh:
SELECT CONCAT_WS(',', 'Red', 'Green');
Kết quả:
Red,Green
Trong trường hợp này, tôi đã nối các chuỗi bằng dấu phẩy làm dấu phân cách.
Dưới đây là một ví dụ sử dụng dấu cách làm dấu phân cách:
SELECT CONCAT_WS(' ', 'Squid', 'Game');
Kết quả:
Squid Game
Kết hợp các số
PostgreSQL nối biểu diễn văn bản của các đối số của nó, vì vậy chúng ta có thể nối các số mà không cần phải chuyển đổi chúng thành một chuỗi rõ ràng:
SELECT CONCAT_WS(',', 1, 2, 3);
Kết quả:
1,2,3
Mặc dù, hãy cẩn thận nếu có các số 0 ở đầu:
SELECT CONCAT_WS(',', 001, 002, 003);
Kết quả:
1,2,3
Đối số rỗng
Đối số rỗng bị bỏ qua:
SELECT CONCAT_WS(' ', 'Player', NULL, 456);
Kết quả:
Player 456
Không tranh luận
Đang gọi CONCAT_WS()
mà không chuyển bất kỳ đối số nào dẫn đến lỗi:
SELECT CONCAT_WS();
Kết quả:
ERROR: function concat_ws() does not exist LINE 1: SELECT CONCAT_WS(); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.