Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách nối chuỗi trong SQL

Vấn đề:

Bạn muốn nối các chuỗi từ hai cột của bảng thành một.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng tên là student với dữ liệu trong các cột sau:id , first_namelast_name .

id first_name last_name
1 Lora Smith
2 Emil Màu nâu
3 Alex Jackson
4 Martin Davis

Hãy nối họ với họ của học sinh thành một chuỗi. Sử dụng khoảng trắng giữa mỗi tên.

Giải pháp:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;

Truy vấn này trả về các bản ghi trong một cột có tên full_name :

full_name
Lora Smith
Emil Brown
Alex Jackson
Martin Davis

Thảo luận:

Để nối một chuỗi vào một chuỗi khác và trả về một kết quả, hãy sử dụng dấu || nhà điều hành. Điều này thêm hai chuỗi từ bên trái và bên phải với nhau và trả về một kết quả. Nếu bạn sử dụng tên của cột, đừng đặt nó trong dấu ngoặc kép. Tuy nhiên, khi sử dụng giá trị chuỗi dưới dạng khoảng trắng hoặc văn bản, hãy đặt nó trong dấu ngoặc kép.

Trong ví dụ của chúng tôi, chúng tôi đã thêm một khoảng trắng vào first_name rồi đến cột last_name . Cột mới này được gọi là full_name .

Bạn cũng có thể sử dụng một chức năng đặc biệt:CONCAT. Nó có một danh sách các chuỗi hoặc tên của các cột để tham gia làm đối số:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;

Kết quả giống hệt nhau.

Tuy nhiên, hàm CONCAT () tốt hơn để lấy dữ liệu từ cột có giá trị NULL. Tại sao? Bởi vì, khi một NULL được bao gồm trong các giá trị được nối, toán tử trả về kết quả là NULL. Trong trường hợp CONCAT (), NULL sẽ không được hiển thị.

Nhìn vào kết quả của || nếu Emill không có họ được ghi:

SELECT first_name || ‘ ‘ || last_name AS full_name
FROM student;
full_name
Lora Smith
KHÔNG ĐỦ
Alex Jackson
Martin Davis

Nhìn vào hàm CONCAT để biết cùng một dữ liệu:

SELECT CONCAT(first_name, ‘ ‘, last_name) AS full_name
FROM student;
full_name
Lora Smith
Emil
Alex Jackson
Martin Davis

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu trữ tệp trong cơ sở dữ liệu SQL bằng FILESTREAM - Phần 2

  2. Nhóm dữ liệu bằng cách sử dụng hàm OVER và PARTITION BY

  3. Làm thế nào để tính toán tổng số chạy trong Redshift

  4. SQL CHỌN TRONG

  5. Ngôn ngữ truy vấn có cấu trúc - Tầm quan trọng của việc học SQL