Nối chuỗi PostgreSQL

Noi Chuoi Postgresql



Khi bạn có hai chuỗi, bạn có thể nối chúng để có một chuỗi cuối cùng. Lấy ví dụ về họ và tên của người dùng, bạn có thể ghép chúng để có được tên đầy đủ của họ. Với PostgreSQL, có hai tùy chọn mà bạn có thể sử dụng để nối chuỗi. Có phương pháp cũ là sử dụng toán tử (||) và tùy chọn mới là sử dụng CONCAT(). Cả hai cách đều được đề cập trong bài đăng này để đảm bảo rằng bạn hiểu cách nối các chuỗi một cách dễ dàng. Đọc tiếp để xem các ví dụ khác nhau về nối chuỗi.

Nối chuỗi trong PostgreSQL

Bạn có thể nối các chuỗi vì nhiều lý do khác nhau. Có thể bạn chỉ muốn làm việc với một chuỗi nhưng lại muốn trích xuất các giá trị từ hai cột. Vì lý do nào đó, nếu bạn muốn nối các chuỗi, có hai tùy chọn mà bạn có thể sử dụng cho PostgreSQL. Hãy thảo luận chi tiết từng vấn đề với các ví dụ có liên quan.

1. Sử dụng Toán tử ghép (||)

Trong PostgreSQL, (||) là toán tử nối mà bạn có thể sử dụng với các chuỗi để nối chúng. Bạn có thể có nhiều hơn hai chuỗi và sử dụng cùng một logic để nối chúng.







Ví dụ: nếu bạn có hai chuỗi – “Linux” và “Hint” mà bạn muốn nối, hãy chạy lệnh sau:





Lưu ý rằng chúng tôi thêm một chuỗi trống làm dấu phân cách. Hơn nữa, chúng tôi đặt tên đầu ra của mình là “tên”. Đầu tiên (|)| toán tử đứng sau chuỗi đầu tiên. Sau đó, chúng ta thêm chuỗi trống làm dấu phân cách và toán tử (||) còn lại để nối hai chuỗi. Nếu bạn có nhiều chuỗi, hãy sử dụng logic tương tự.





2. Sử dụng CONCAT()

Với tùy chọn nối đầu tiên, bạn có thể nhận thấy rằng chúng tôi đã tạo ra độ dài trong truy vấn của mình. Tuy nhiên, chúng ta có thể đặt độ chính xác cho truy vấn bằng CONCAT(). Nó cung cấp sự đơn giản trong việc ghép nối và dễ sử dụng hơn.

Cú pháp của nó như sau:



CHỌN CONCAT(chuỗi1, [dấu phân cách], chuỗi2);

Dấu phân cách là tùy chọn, nhưng chúng tôi khuyên bạn nên thêm nó để có kết quả đầu ra gọn gàng. Tất cả phụ thuộc vào những gì bạn muốn đạt được với sự kết hợp.

Để chạy lại ví dụ tương tự mà chúng ta đã làm trước đó nhưng sử dụng CONCAT(), hãy thực hiện lệnh sau:

CHỌN CONCAT('Linux', ' ', 'Gợi ý');

Chúng tôi nhận được kết quả tương tự nhưng với một truy vấn dễ hiểu hơn.

Nếu chúng tôi muốn đặt cho đầu ra một tên tùy chỉnh hơn, hãy thêm từ khóa AS theo sau là tên tùy chỉnh mà chúng tôi muốn sử dụng cho đầu ra.

Ví dụ sau đây cho thấy cách chúng tôi đặt tên đầu ra là “fullname”:

Giả sử bạn không thêm dấu phân cách. PostgreSQL hợp nhất hai chuỗi và bạn sẽ nhận được kết quả đầu ra giống như chuỗi sau:

Có thể nối các chuỗi trong đó một trong các chuỗi có giá trị null. Có thể bạn đang làm việc với một bảng và cột chấp nhận giá trị rỗng. Trong trường hợp như vậy, việc thêm từ khóa “null” hoạt động tốt và được coi là một chuỗi trống.

Hãy xem ví dụ sau và xem chúng tôi chứng minh trường hợp đó như thế nào:

Giả sử bạn có một bảng và bạn muốn nối hai cột. Quá trình này là như nhau, với một vài bổ sung. Chúng ta hãy có bảng sau để trình diễn:

Giả sử chúng ta muốn trích xuất tên đầy đủ của mọi sinh viên. Chúng ta phải nối “fname” với “lname”. Lệnh của chúng ta phải chỉ định các cột mục tiêu, dấu phân cách và tên bảng.

Vì vậy, chúng tôi chạy nó như sau:

Làm việc với CONCAT_WS()

Khi làm việc với CONCAT(), chúng ta thấy rằng dấu phân cách được thêm vào giữa các chuỗi. Tuy nhiên, PostgreSQL cung cấp CONCAT_WS() viết tắt của “với dấu phân cách” để cho phép người dùng có một cách khác để thêm dấu phân cách.

Với tùy chọn này, dấu phân cách xuất hiện trước và bạn có thể thêm chuỗi của mình sau đó. Mục đích là tạo thứ tự trong truy vấn của bạn. Để chạy lại truy vấn trước đó nhưng sử dụng CONCAT_WS(), chúng ta có lệnh như sau:

Chúng ta vẫn nhận được kết quả đầu ra tương tự nhưng định dạng của lệnh thay đổi. Đó là cách bạn nối các chuỗi trong PostgreSQL.

Phần kết luận

Nối chuỗi PostgreSQL rất hữu ích trong các tình huống khác nhau. Bài đăng này mô tả hai phương pháp để nối chuỗi của bạn một cách nhanh chóng. Hãy thử chúng và tiếp tục luyện tập với phương pháp mà bạn cảm thấy thoải mái hơn. Nó đơn giản mà!