PostgreSQL cho phép bạn dễ dàng nối các cột, chuỗi và int. PostgreSQL cung cấp hai cách để nối các chuỗi. Trong bài viết này, chúng ta sẽ xem xét cách nối các chuỗi trong PostgreSQL bằng cách sử dụng từng cách tiếp cận này. Bạn có thể sử dụng nó để nối các cột trong PostgreSQL, nối chuỗi và biến hoặc nối chuỗi và int.
Cách nối chuỗi trong PostgreSQL
Có hai cách để nối các chuỗi trong PostgreSQL - sử dụng || toán tử và sử dụng concat chức năng.
Kết hợp chuỗi bằng cách sử dụng || toán tử
PostgreSQL cho phép bạn nối trực tiếp các chuỗi, cột và giá trị int bằng cách sử dụng || nhà điều hành.
Giả sử bạn có một bảng nhân viên (id, first_name, last_name)
postgres=# create table employees(id int, first_name varchar(10), last_name varchar(10)); postgres=# insert into employees(id,first_name,last_name) values(1,'Jim','Doe'), (2,'Tim','Don'), (3,'Jane','Doe'); postgres=# select * from employees; id | first_name | last_name ----+------------+----------- 1 | Jim | Doe 2 | Tim | Don 3 | Jane | Doe
Đây là truy vấn SQL để nối các cột first_name và last_name sử dụng || nhà điều hành.
postgres-# select first_name || ' ' || last_name as full_name from employees; full_name ----------- Jim Doe Tim Don Jane Doe
Bạn thậm chí có thể nối chuỗi với int bằng cách sử dụng || nhà điều hành.
select first_name || 123 || last_name as full_name postgres-# from employees; full_name ------------ Jim123Doe Tim123Don Jane123Doe
Như bạn thấy || toán tử tự động chuyển đổi int thành chuỗi trong khi nối.
Tuy nhiên, || toán tử không thể nối các giá trị null. Nếu có null trong bất kỳ cột hoặc chuỗi nào, thì kết quả là giá trị null.
postgres-# select first_name || null || last_name as full_name from employees; full_name ----------- (3 rows)
Với mục đích đó, chúng ta cần sử dụng concat , được mô tả bên dưới.
Nối chuỗi bằng hàm nối
Concat hàm cũng cho phép bạn nối các chuỗi, cột và int. Nó chấp nhận các tham số được phân tách bằng dấu phẩy. Các tham số này có thể là chuỗi, cột, int, null, v.v.
Sự khác biệt chính giữa || toán tử và concat là chức năng, nếu có bất kỳ giá trị nào trong concat hàm là null, nó sẽ tự động được chuyển đổi thành một chuỗi trống trong quá trình nối.
Đây là một ví dụ để nối first_name và last_name ở trên bằng cách sử dụng concat chức năng.
postgres-# select concat(first_name,' ',last_name) as full_name from employees; full_name ----------- Jim Doe Tim Don Jane Doe
Đây là một ví dụ để nối first_name và last_name cột có null giá trị
postgres=# select concat(first_name,null,last_name) as full_name from employees; full_name ----------- JimDoe TimDon JaneDoe
Như bạn có thể thấy, concat hàm đã chuyển đổi giá trị null thành chuỗi trống.
Hy vọng rằng, bài viết này sẽ giúp bạn nối các cột trong PostgreSQL, nối chuỗi và biến, hoặc nối chuỗi và int.
Cần một công cụ báo cáo cho PostgreSQL? Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!