Zum Hauptinhalt springen
Übersetzte Seite

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 NULLIF ist äquivalent zu CASE WHEN expression1 = expression2 THEN NULL ELSE expression1 END

NULLIF ist nützlich in Verbindung mit Aggregatfunktionen wie AVG, MAX, MIN, SUM und COUNT, wenn die Ergebnismenge besondere Werte enthält, die nicht NULL sind, die Sie für die Aggregation aber wie NULL behandeln 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 NULLIF durchsucht 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 Kollation BINARY verwendet.

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