Hàm NULL của MySQL
Hàm IFNULL() và COALESCE() của MySQL
Nhìn vào bảng "Sản phẩm" sau:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
Giả sử cột "UnitsOnOrder" là tùy chọn và có thể chứa các giá trị NULL.
Hãy xem câu lệnh CHỌN sau:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
Trong ví dụ trên, nếu bất kỳ giá trị "UnitsOnOrder" nào là NULL thì kết quả sẽ là NULL.
Hàm IFNULL() của MySQL
Hàm IFNULL()
của MySQL cho phép bạn trả về một giá trị thay thế nếu biểu thức là NULL.
Ví dụ bên dưới trả về 0 nếu giá trị là NULL:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
Hàm COALESCE() của MySQL
Hoặc chúng ta có thể sử dụng hàm COALESCE()
, như thế này:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;