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

Đăng lúc 21:22 13.09.2024

Trong SQL chúng ta thường bắt gặp các giá trị không xác định hay còn được gọi là giá trị NULL. Thỉnh thoảng khi truy vấn dữ liệu bạn cần xử lý các giá trị NULL để kết quả trả về gọn gàng hoặc thay thế bằng giá trị khác nếu cần.

Để làm được điều đó, bạn sẽ cần đến hàm COALESCE trong SQL. Vậy cú pháp và cách sử dụng như nào? Cùng HocVienDaoTao.Com tìm hiểu ngay trong bài viết này nhé!

 

Cú pháp hàm COALESCE trong SQL

Hiểu theo cách đơn giản, hàm COALESCE hỗ trợ trả về các giá trị không phải null đầu tiên trong danh sách. Trong trường hợp tất cả các bản ghi đều có giá trị null thì hàm sẽ trả về kết quả null.

Cú pháp thực hiện như sau:

SELECT COALESCE(value1, value2, value3, ...)

Trong đó: 

  • Hàm COALESCE kết hợp với câu lệnh SELECT trong SQL sẽ kiểm tra lần lượt từng giá trị từ trái sang phải. Nó sẽ trả về giá trị đầu tiên không phải NULL.
  • value1, value2, value3, ...: là các giá trị mà bạn muốn kiểm tra.
Cú pháp hàm COALESCE trong SQL

Các phiên bản SQL Server có thể sử dụng được hàm COALESCE: SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017.

Ví dụ

Giả sử bạn đang cần truy vấn thông tin khách hàng từ bảng thông tin khách hàng. Tuy nhiên một số khách hàng lại không cung cấp số điện thoại, nhưng có email. 

Phone

Email

123-456789

NULL

NULL

jane.doe@gmail.com

NULL

NULL


 

 

 

 

 

Yêu cầu: Bạn cần lấy số điện thoại (nếu có), không thì trả về là email. Cả 2 không có thì trả về thông báo không tồn tại thông tin liên lạc.

Để thực hiện yêu cầu trên, bạn viết cú pháp sau:

SELECT COALESCE(Phone, Email, 'No contact info available') AS ContactInfo
FROM Customers;

Phân tích cú pháp trên để giúp bạn dễ hiểu hơn, chạy công thức thì bạn sẽ thấy:

  • Nếu khách hàng có số điện thoại, nó sẽ trả về số điện thoại.
  • Nếu số điện thoại là NULL nhưng có email, nó sẽ trả về email.
  • Nếu cả hai đều NULL, nó sẽ trả về 'No contact info available'.

Kết quả trả về:

ContactInfo

123-456789
jane.doe@gmail.com
No contact info available


 

 

 

 

Hàm COALESCE và ISNULL có gì khác nhau?

Theo lý thuyết thì cả COALESCE và ISNULL đều có chức năng trả về giá trị thay thế khi gặp giá trị NULL. Tuy nhiên, ứng dụng thực tế thì chúng có những điểm khác biệt như sau:

  • COALESCE cho phép bạn kiểm tra nhiều giá trị cùng lúc. Với cú pháp COALESCE(value1, value2, ..., valuen) nó sẽ trả về giá trị đầu tiên không phải NULL.

Còn ISNULL chỉ kiểm tra một giá trị duy nhất bằng cú pháp ISNULL(expression, value). Nếu giá trị đó là NULL, nó sẽ thay thế bằng giá trị mặc định bạn cung cấp. Trong đó, expression là giá trị cần kiểm tra và value là giá trị thay thế nếu expression là NULL.

  • Hàm COALESCE sẽ trả về kiểu dữ liệu của giá trị đầu tiên không phải NULL trong danh sách. Trong khi hàm ISNULL thì trả về kiểu dữ liệu của giá trị cần kiểm tra.
  • Trong trường hợp bảng dữ liệu lớn, hiệu suất của hàm COALESCE có thể chậm hơn ISNULL do hàm này chỉ kiểm tra một giá trị duy nhất.

Kết luận

Bài học trên đây HocVienDaoTao.Com đã hướng dẫn bạn chi tiết về cú pháp và cách sử dụng hàm COALESCE trong SQL. Đừng quên thực hành ngay và áp dụng vào thực tế công việc để hiểu và nhớ lâu hơn về cách sử dụng hàm này nha. Chúc bạn thành công!

 
 

 
==***==

Khoá học: Quản trị Chiến lược Dành cho các Lãnh đạo Doanh nghiệp
Nhấn vào đây để bắt đầu khóa học

Khóa học: Trở thành chuyên gia Bảo mật và tấn công ANM- Hacker mũ trắng
Nhấn vào đây để bắt đầu khóa học

Chuyên gia phân tích, tự động hóa Web iMacros
Nhấn vào đây để bắt đầu khóa học

Xây dựng ứng dụng tự động hóa AutoIT
Nhấn vào đây để bắt đầu khóa học

Khóa đào tạo Hacker và Marketing Facebook từ A - Z
Nhấn vào đây để bắt đầu khóa học

Khóa học: Phân tích và trực quan hóa dữ liệu với Power BI
Nhấn vào đây để bắt đầu khóa học

Khóa học đào tạo Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán
Nhấn vào đây để bắt đầu khóa học

Làm chủ xây dựng Game chuyên nghiệp
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Kỹ sảo Điện ảnh đỉnh cao với khóa học After Effect
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Vẽ Đẳng Cấp với khóa học AI
Nhấn vào đây để bắt đầu khóa học

Làm Chủ thiết kế ảnh với Photoshop CC
Nhấn vào đây để bắt đầu khóa học

Dựng Phim Siêu đẳng với Adobe Premiere
Nhấn vào đây để bắt đầu khóa học

Khóa dựng phần mềm quản lý dành cho nhà Quản lý và Kế toán bằng MS ACCESS
Nhấn vào đây để bắt đầu khóa học

Khóa học Machine Learning cơ bản-Khoa học dữ liệu - AI
Nhấn vào đây để bắt đầu khóa học

Khóa học Đào tạo sử dụng Excel Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học sử dụng PowerPoint Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học xây dựng và quản trị hệ thống đào tạo trực tuyến
Nhấn vào đây để bắt đầu khóa học

Đóng góp nội dung

Gửi ý kiến cho ban biên tập
Gửi thông tin

Thông tin

ĐĂNG KÝ/LIÊN HỆ: