Funkcja SQL ISNULL (), NVL (), IFNULL () i COALESCE ()
Funkcja SQL ISNULL (), NVL (), IFNULL () i COALESCE ()
Spójrz na poniższej tabeli "Produkty":
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
Jeśli "UnitsonOrder" jest opcjonalny i może zawierać wartości NULL.
Używamy następującą instrukcję SELECT:
FROM Products
W powyższym przykładzie, jeśli jest "UnitsonOrder" wartość jest NULL, to wynikiem jest NULL.
Funkcja Microsoft ISNULL () służy do określenia sposobu obsługi wartości NULL.
NVL (), IFNULL () i zlewają function () może osiągnąć takie same wyniki.
Tutaj mamy nadzieję, wartość NULL jest 0.
Teraz, jeśli "UnitsonOrder" jest NULL, to nie będzie miało wpływu na obliczenie, ponieważ jeśli wartość jest NULL, ISNULL () zwraca 0:
SQL Server / MS Access
FROM Products
wyrocznia
Oracle nie IsNull funkcji (). Jednakże, możemy użyć funkcji NVL (), aby osiągnąć ten sam rezultat:
FROM Products
MySQL
MySQL posiada również funkcję podobną ISNULL (). Ale to działa w ISNULL Microsoftu () funkcja jest nieco inna.
W MySQL, możemy użyć funkcji IFNULL () w następujący sposób:
FROM Products
Albo możemy użyć funkcji COALESCE () w następujący sposób:
FROM Products