SQL NULLFunktionen
SQL-Funktionen ISNULL(), NVL(), IFNULL() und COALESCE()
Sehen Sie sich die unten stehende Tabelle "Products" an:
| P_Id | ProductName | Einzelhandelspreis | Einheiten auf Lager | UnitsOnOrder |
|---|---|---|---|---|
| 1 | Jarlsberg | 10.45 | 16 | 15 |
| 2 | Mascarpone | 32.56 | 23 | |
| 3 | Gorgonzola | 15.67 | 9 | 20 |
Angenommen, "UnitsOnOrder" ist optional und kann NULL-Werte enthalten.
Wir verwenden die folgende SELECT-Anweisung:
FROM Products
Im obigen Beispiel ist das Ergebnis NULL, wenn irgendein "UnitsOnOrder"-Wert NULL ist.
Microsofts ISNULL()-Funktion wird verwendet, um anzugeben, wie NULL-Werte behandelt werden sollen.
Die Funktionen NVL(), IFNULL() und COALESCE() können ebenfalls dasselbe Ergebnis erzielen.
Hier möchten wir, dass der NULL-Wert 0 ist.
Im Folgenden: Wenn "UnitsOnOrder" NULL ist, wirkt sich das nicht auf die Berechnung aus, weil ISNULL() 0 zurückgibt, wenn der Wert NULL ist:
SQL Server / MS Access
FROM Products
Oracle
Oracle hat keine ISNULL()-Funktion. Wir können jedoch die NVL()-Funktion verwenden, um dasselbe Ergebnis zu erzielen:
FROM Products
MySQL
MySQL hat auch eine Funktion, die ISNULL() ähnelt. Sie funktioniert jedoch etwas anders als Microsofts ISNULL()-Funktion.
In MySQL können wir die IFNULL()-Funktion verwenden, wie unten gezeigt:
FROM Products
Oder wir können die COALESCE()-Funktion verwenden, wie unten gezeigt:
FROM Products
Andere Erweiterungen