Funkcje MySQL NULL
Funkcje MySQL IFNULL() i COALESCE()
Spójrz na poniższą tabelę "Produkty":
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
Załóżmy, że kolumna „UnitsOnOrder” jest opcjonalna i może zawierać wartości NULL.
Spójrz na następującą instrukcję SELECT:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
W powyższym przykładzie, jeśli którakolwiek z wartości „UnitsOnOrder” ma wartość NULL, wynikiem będzie NULL.
Funkcja MySQL IFNULL()
Funkcja MySQL IFNULL()
pozwala zwrócić alternatywną wartość, jeśli wyrażenie ma wartość NULL.
Poniższy przykład zwraca 0, jeśli wartość wynosi NULL:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
Funkcja MySQL COALESCE()
Lub możemy użyć funkcji w następujący sposób:
COALESCE()
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;