NullIf
diese Funktion vergleicht die beiden Ausdrücke miteinander. Sind sie verschieden, so wird der erste Ausdruck,
sind sie gleich, so wird Null zurückgegeben.
Syntax
NullIf (<erster Ausdruck>, <zweiter Ausdruck>)
Parameterliste
- <erster Ausdruck>
- beliebiger Ausdruck
- <zweiter Ausdruck>
- beliebiger Ausdruck von demselben Datentyp wie der erste Ausdruck
- Rückgabewert
- den Datentyp der beiden Parameter bzw. Null mit diesem Datentyp
- Typ
- sonstige Funktion
Beispiele
Select A.A_Nr, A.A_Name, NullIf(A.A_Preis, 0.0) As [A_Preis]
From Artikel As A
Diese Abfrage gibt für alle Artikel entweder den Preis oder Null zurück, falls der Preis = 0 ist.
Update Artikel
Set A_Preis = NullIf(A_Preis, 0)
Falls die Tabelle Artikel bsp. Objekte enthält, die als Werbegeschenke verteilt werden sollen und diese mit dem Preis 0.0
eingepflegt wurden, so lassen sich mit diesem Update-Befehl alle Artikel - nicht nur jene mit einem Preis = 0.0 - aktualisieren.
Dies kann sinnvoller als die direkte Aktualisierung per Where-Klausel (Where A_Preis = 0.0) sein, falls mit der Tabelle bsp.
ein Trigger verknüpft ist, der einmalig ausgeführt werden soll.
Hinweise
Die Funktion entspricht der folgenden
Case-Funktion:
Case
When <erster Ausdruck> = <zweiter Ausdruck> Then Null
Else <erster Ausdruck>
End © 2003-2009 Jürgen Auer, Berlin.