Ein CASE-Ausdruck mit NULLIF hat folgende Syntax:
case_ausdruck ::= NULLIF (
ausdruck1 ,
ausdruck2 )
ausdruck
Ausdruck, dessen Auswertung einen alphanumerischen Wert, einen National-Wert, einen numerischen Wert oder einen Zeitwert ergibt.
Es darf kein multipler Wert mit Dimension > 1 sein.
Ergebnis
Das Ergebnis des CASE-Ausdrucks ist NULL, wenn ausdruck1 und ausdruck2 gleich sind. Bei Ungleichheit zwischen ausdruck1 und ausdruck2 ist das Ergebnis ausdruck1.
Ein CASE-Ausdruck mit NULLIF entspricht einem CASE-Ausdruck mit Suchbedingung der folgenden Form:
CASE WHEN ausdruck1=ausdruck2 THEN NULL ELSE ausdruck1 END
Beispiel
Aus der Tabelle LEISTUNG soll die berechnete Mehrwertsteuer ermittelt werden, für den Fall, dass der Mehrwertsteuersatz nicht 0.07 beträgt.
SELECT lsatz * NULLIF (mwsatz,0.07) AS steuer FROM leistung