Các 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ử rằng cột "UnitsOnOrder" là tùy chọn và có thể chứa giá trị NULL.
Nhìn vào câu lệnh SELECT 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, kết quả sẽ là NULL.
Hàm IFNULL () trong MySQL
Hàm MySQL IFNULL()
cho phép bạn trả về một giá trị thay thế nếu một biểu thức là NULL.
Ví dụ dưới đây trả về 0 nếu giá trị là NULL:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
Hàm MySQL COALESCE ()
Hoặc chúng ta có thể sử dụng hàm như sau:
COALESCE()
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;