SQL Server NULLIF

Giới Thiệu về NULLIF trong SQL Server

Trong SQL Server, NULLIF là một hàm rất hữu ích được sử dụng để trả về giá trị NULL nếu hai biểu thức truyền vào bằng nhau. Nếu hai biểu thức khác nhau, NULLIF sẽ trả về giá trị của biểu thức đầu tiên. Hàm này thường được sử dụng để kiểm tra các điều kiện mà bạn muốn phản hồi bằng NULL, giúp tránh việc chia cho 0 hoặc xử lý các giá trị tương tự một cách hiệu quả.

Cú Pháp

Cú pháp của hàm NULLIF trong SQL Server được định nghĩa như sau:

NULLIF(expression1, expression2)

Trong đó:

  • expression1: Biểu thức đầu tiên cần kiểm tra.
  • expression2: Biểu thức thứ hai để so sánh với biểu thức đầu tiên.

Ví Dụ Sử Dụng NULLIF

Ví Dụ 1: Trả Về NULL Khi Hai Giá Trị Bằng Nhau

Giả sử bạn có một bảng có tên là Employees với các cột EmployeeIDBonus. Bạn muốn kiểm tra xem nếu giá trị Bonus bằng 0 thì trả về NULL.

SELECT EmployeeID, NULLIF(Bonus, 0) AS BonusValue
FROM Employees;

Ví Dụ 2: Chia và Trả Về NULL

Nếu bạn có một phép chia và muốn tránh việc chia cho 0, bạn có thể sử dụng NULLIF để bảo vệ phép chia đó. Dưới đây là một ví dụ:

SELECT 
    EmployeeID, 
    Salary / NULLIF(Bonus, 0) AS SalaryPerBonus
FROM Employees;

Trong ví dụ này, nếu Bonus bằng 0, NULLIF sẽ trả về NULL, và phép chia sẽ không gặp lỗi chia cho 0.

Ví Dụ 3: Sử Dụng NULLIF trong Câu Lệnh UPDATE

NULLIF cũng có thể được sử dụng trong các câu lệnh UPDATE để cập nhật giá trị chỉ khi các điều kiện nhất định được đáp ứng.

UPDATE Employees
SET Bonus = NULLIF(Bonus, 0)
WHERE EmployeeID = 1;

Câu lệnh này sẽ cập nhật giá trị của Bonus cho nhân viên có EmployeeID là 1 thành NULL nếu giá trị hiện tại của Bonus là 0.

Kết Luận

Hàm NULLIF trong SQL Server là một công cụ tuyệt vời để xử lý các tình huống có thể gây ra lỗi hoặc không mong muốn trong các phép toán. Việc biết sử dụng NULLIF sẽ giúp bạn viết những truy vấn SQL an toàn và hiệu quả hơn. Hãy thử áp dụng hàm này trong các dự án của bạn để trải nghiệm sự tiện lợi mà nó mang lại!