- Kategorien:
Funktionen für bedingte Ausdrücke , Funktionen für semistrukturierte und strukturierte Daten (Typprädikate)
IS_NULL_VALUE¶
Gibt TRUE zurück, wenn das VARIANT-Argument eine JSON-Null-Wert ist.
Wichtig
Der JSON-Nullwert unterscheidet sich vom Wert SQL NULL.
Diese Funktion gibt TRUE nur für JSON-Null-Werte zurück, nicht für SQL-NULL-Werte. Der Unterschied wird in der ersten und dritten Zeile der angezeigt Ausgabe für das folgende Beispiel angezeigt.
Ein fehlender JSON-Wert wird in einen SQL-NULL-Wert umgewandelt, für den IS_NULL_VALUE NULL zurückgibt. Die 4. Spalte der Ausgabe für das folgende Beispiel zeigt dies.
Diese Funktion unterscheidet sich von der Funktion IS [ NOT ] NULL.
- Siehe auch:
Syntax¶
IS_NULL_VALUE( <variant_expr> )
Argumente¶
variant_expr
Ein Ausdruck, der einen Wert vom Typ VARIANT ergibt.
Rückgabewerte¶
Diese Funktion gibt einen Wert vom Typ BOOLEAN oder NULL zurück:
Gibt TRUE für einen JSON-Null-Wert zurück.
Gibt FALSE für einen JSON-Nicht-Null-Wert zurück.
Gibt NULL für eine SQL-NULL zurück.
Beispiele¶
Dieses Beispiel verwendet die Funktion IS_NULL_VALUE. Erstellen Sie zunächst eine Tabelle mit einer VARIANT-Spalte:
CREATE OR REPLACE TABLE test_is_null_value_function (
variant_value VARIANT);
Fügen Sie mit der Funktion PARSE_JSON zwei Zeilen mit JSON-Name/Wert-Paaren in die VARIANT-Spalte ein:
Bemerkung
Die Funktion PARSE_JSON gibt einen VARIANT-Wert zurück.
INSERT INTO test_is_null_value_function (variant_value)
(SELECT PARSE_JSON('{"x": null}'));
INSERT INTO test_is_null_value_function (variant_value)
(SELECT PARSE_JSON('{"x": "foo"}'));
Fügen Sie eine NULL in die Spalte ein:
INSERT INTO test_is_null_value_function (variant_value)
(SELECT PARSE_JSON(NULL));
Fragen Sie die Tabelle ab:
SELECT variant_value,
variant_value:x value_of_x,
IS_NULL_VALUE(variant_value:x) is_x_a_json_null,
IS_NULL_VALUE(variant_value:y) is_y_a_json_null
FROM test_is_null_value_function;
+---------------+------------+------------------+------------------+
| VARIANT_VALUE | VALUE_OF_X | IS_X_A_JSON_NULL | IS_Y_A_JSON_NULL |
|---------------+------------+------------------+------------------|
| { | null | True | NULL |
| "x": null | | | |
| } | | | |
| { | "foo" | False | NULL |
| "x": "foo" | | | |
| } | | | |
| NULL | NULL | NULL | NULL |
+---------------+------------+------------------+------------------+
In den Abfrageergebnissen:
Die Spalte
variant_value
zeigt drei Zeilen mit eingefügten VARIANT-Werten.Die Spalte
value_of_x
zeigt den JSON-Wert für den Namenx
in jeder Zeile.Die Spalte
is_x_a_json_null
gibt die Ergebnisse der Funktion IS_NULL_VALUE für den Namenx
in jeder Zeile zurück.Die Spalte
is_y_a_json_null
gibt die Ergebnisse der Funktion IS_NULL_VALUE für den Nameny
in jeder Zeile zurück. Da es in keiner Zeile einen passenden Nameny
gibt, geben alle Zeilen NULL zurück.