Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
NULLIF
Akzeptiert zwei Argumente und gibt einen NULL-Wert zurück, wenn sie gleich sind; andernfalls wird das erste Argument zurückgegeben.
Die Funktion
NULLIFist äquivalent zuCASE WHEN expression1 = expression2 THEN NULL ELSE expression1 END
NULLIFist nützlich in Verbindung mit Aggregatfunktionen wieAVG,MAX,MIN,SUMundCOUNT, wenn die Ergebnismenge besondere Werte enthält, die nichtNULLsind, die Sie für die Aggregation aber wieNULLbehandeln möchten.
Siehe auch:
[SELECT] [COALESCE] [IFNULL]
Syntax
SELECT NULLIF(expression1, expression2) FROM <multipartIdentifier>;
Argumente
expression
Zwei Ausdrücke eines beliebigen Datentyps, die zu einem NULL- oder Nicht-NULL-Wert ausgewertet werden.
Die Funktion
NULLIFdurchsucht ihre Argumente von links nach rechts nach einem Argument, das eine Kollationsfunktion definiert, und verwendet diese Kollationsfunktion für alle String-Vergleiche. Wenn keines der beiden Argumente eine Kollationsfunktion definiert, wird die KollationBINARYverwendet.
Rückgabewert(e)
Gibt NULL zurück, wenn die beiden expression-Argumente zum selben Wert ausgewertet werden; andernfalls wird der erste Wert zurückgegeben.
Beispiele
Datensätze zählen, bei denen ein Feld ungleich einem bestimmten Wert ist
SELECT COUNT(NULLIF(name, 'controller-0'))
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
/*
equivalent to:
SELECT COUNT(*) FROM google.compute.instances
WHERE name != 'controller-0';
*/
Weitere Informationen finden Sie unter https://www.sqlite.org/lang_corefunc.html#nullif