Hàm ISNULL trong SQL Server

ISNULL trong SQL dùng để làm gì? Nếu chưa có câu trả lời, mời bạn cùng Quantrimang.com tìm hiểu những điều cần biết về hàm ISNULL trong SQL Server nhé!

Trong SQL Server, hàm ISNULL cho phép bạn trả về một giá trị thay thế khi một biểu thức truyền vào là NULL. Bài viết này sẽ hướng dẫn chi tiết cho bạn cách sử dụng hàm xử lý hàm ISNULL với cú pháp và những ví dụ cụ thể để dễ hình dung và nắm bắt hàm tốt hơn.

Mô tả

Hàm ISNULL trong SQL Server trả về một giá trị được chỉ định nếu biểu thức là NULL. Nếu biểu thức không phải là NULL thì hàm trả về chính biểu thức.

Cú pháp

Để sử dụng câu lệnh ISNULL trong SQL Server, ta dùng cú pháp như sau:

ISNULL(bieuthuc, giatri_thaythe)

Tham số:

  • bieuthuc: biểu thức bất kỳ cần kiểm tra xem nó có phải NULL hay không.
  • giatri_thaythe: là một giá trị trả về thay thế cho bieuthuc khi bieuthuc = NULL, giatri_thaythe bắt buộc phải cùng kiểu dữ liệu với bieuthuc.

Lưu ý:

  • Hàm ISNULL trả về giatri_thaythe nếu biểu thức là NULL.
  • Hàm ISNULL trả về bieuthuc nếu biểu thức không phải là NULL.
  • Hàm ISNULL có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.

Ví dụ

Hãy xem cách sử dụng câu lệnh ISNULL trong SQL Server.

SELECT ISNULL(NULL, 'Quantrimang.com');
Result: 'Quantrimang.com'

SELECT ISNULL('Quantrimang.com', 'QuanTriMang');
Result: 'Quantrimang.com'

SELECT ISNULL(NULL, 45);
Result: 45

SELECT ISNULL(12, 45);
Result: 12

SELECT ISNULL(NULL, '2019-05-01');
Result: '2019-05-01'

SELECT ISNULL('2019-04-30', '2019-05-01');
Result: '2019-04-30'

Sự khác biệt giữa SQL Server ISNULL và IS NULL

Hàm ISNULL và IS NULL khác nhau trong SQL Server. Chúng ta dùng hàm ISNULL khi có nhu cầu thay thế các giá trị NULL bằng một giá trị cụ thể. Mặt khác, chúng ta dùng hàm IS NULL khi muốn xác định các giá trị NULL trong bảng.

Hãy cùng xem xét ví dụ bên dưới để thấy sự khác nhau giữa ISNULL và IS NULL:

Giả sử bạn muốn lấy dữ liệu nhân viên từ bảng ‘Employee’ chứa các giá trị NULL trong cột Salary. Để lấy kiểu thông tin này, bạn nên dùng hàm IS NULL trong mệnh đề WHERE như sau:

SELECT * FROM Employee WHERE Salary IS NULL;

Nó sẽ trả về thông tin chi tiết nhân viên có mức lương là NULL:

Nhân viên có mức lương là NULL

Bây giờ, bạn muốn lấy kiểu thông tin này bằng hàm ISNULL, SQL Server qua error sau:

SELECT * FROM Employee WHERE Salary ISNULL(NULL, 0;

Thông báo lỗi trả về:

Thông báo lỗi

Vì thế, rõ ràng SQL Server không cho phép dùng ISNULL để tìm các giá trị NULL.

Bài trước: Hàm ISDATE trong SQL Server

Bài tiếp: Hàm ISNUMERIC trong SQL Server

Thứ Sáu, 28/07/2023 16:52
4,26 👨 24.771
0 Bình luận
Sắp xếp theo
    ❖ SQL Server