Hàm CONCAT trong SQL để nối 2 hay nhiều chuỗi

Nội dung được viết bởi Kim Thu

Để thuận tiện cho quá trình xử lý và truy vấn dữ liệu trong SQL, chúng ta thường phải nối hay ghép chuỗi các giá trị từ nhiều cột khác nhau. Nếu bạn đang muốn thực hiện nối chuỗi, bạn sẽ cần đến hàm CONCAT trong SQL. Vậy cú pháp và cách sử dụng như thế nào? Cùng Gitiho tìm hiểu trong bài viết hôm nay nhé!

Cú pháp hàm CONCAT trong SQL

Như đã giới thiệu trước đó, hàm CONCAT được dùng để nối nhiều chuỗi lại với nhau thành một chuỗi duy nhất. Nó có thể kết hợp dữ liệu từ nhiều cột hoặc chuỗi ký tự khác nhau. 

Cú pháp hàm như sau:

CONCAT(string1, string2, ..., stringN)

Trong đó: 

string1, string2, ..., stringN: Các chuỗi hoặc giá trị bạn muốn nối.

Lưu ý: 

  • Hàm CONCAT có độ dài tối đa là 255 chuỗi và tối thiểu là 2 chuỗi. Bởi vì bản chất là hàm ghép các chuỗi lại với nhau nên nếu chỉ có một chuỗi thì hàm sẽ báo lỗi.
  • Đối với những đối số có giá trị NULL thì hàm sẽ tự thay thế NULL bằng chuỗi rỗng để tránh lỗi khi xử lý dữ liệu.
  • Nếu bạn đưa vào hàm CONCAT giá trị không phải chuỗi (chẳng hạn giá trị số) thì SQL sẽ tự động biến những giá trị đó thành chuỗi (giống như văn bản) trước khi ghép chúng lại với nhau. Ví dụ ghép chữ ‘năm’ và số 2024 sẽ thành năm 2024.
  • Hàm CONCAT chỉ sử dụng được ở các phiên bản SQL Server 2012 trở lên, và MySQL 4.1 trở lên.

Ví dụ

Ví dụ 1: Ghép 2 chuỗi ký tự sau lại với nhau ‘Gitiho’ và ‘Học ngay làm luôn’

Để giải quyết yêu cầu này, chúng ta sử dụng hàm CONCAT kết hợp với câu lệnh SELECT trong SQL để kết hợp chuỗi như sau:

SELECT CONCAT('Gitiho', 'Học ngay làm luôn');

Kết quả thu được như sau:

ví dụ hàm CONCAT trong SQL 1

Ví dụ 2: Giả sử trong thực tế, chúng ta có một trường slug chứa các thông tin về đuôi của một URL. 

ví dụ hàm CONCAT trong SQL 2

Yêu cầu: Bây giờ bạn cần kết hợp tên domain (https://gitiho.com/), đuôi URL là ‘html’ và các giá trị của trường slug để tạo ra một URL hoàn chỉnh.

Bạn sử dụng công thức sau:

SELECT CONCAT('https://gitiho.com/blog/', posts.slug, '.html') AS URL_Blog
FROM posts

Trong đó:

  • SELECT CONCAT(...) AS URL_Blog: dùng để nối các giá trị thành một chuỗi hoàn chỉnh.
  • AS URL_Blog: Cột kết quả được đặt tên là URL_Blog (biệt danh cho cột kết quả).
  • posts.slug: trường slug được truy vấn vấn từ bảng dữ liệu posts.

Cho chạy công thức trên, bạn thu được cột có tên URL_Blog chứa các bản ghi là URL đầy đủ của một trang web.

ví dụ hàm CONCAT trong SQL 3

Để hiểu thêm về cách sử dụng hàm CONCAT và các câu lệnh truy vấn khác trong SQL, mời bạn đọc tham khảo khóa học SQL sau của Gitiho:

Kết luận

Trên đây là hướng dẫn về hàm CONCAT trong SQL bao gồm cú pháp, cách sử dụng kèm theo ví dụ chi tiết. Hy vọng nó có thể giúp ích được bạn trong quá trình truy vấn dữ liệu với SQL. Chúc bạn thành công!

Xem thêm: 

Cách dùng hàm CHARINDEX trong SQL để xác định vị trí của chuỗi

Hàm COALESCE trong SQL trả về giá trị không NULL đầu tiên

Khóa học giúp bạn làm chủ ngôn ngữ truy vấn dữ liệu phổ biến SQL từ cơ bản đến nâng cao. Từ đó có thể tự tin xây dựng, truy vấn, và tối ưu hóa các cơ sở dữ liệu phức tạp, hỗ trợ phân tích, làm báo cáo và ra quyết định kinh doanh một cách hiệu quả.

Đăng ký học thử để trải nghiệm ngay hôm nay!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông