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:

IS_<Objekttyp>

Syntax

IS_NULL_VALUE( <variant_expr> )
Copy

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);
Copy

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"}'));
Copy

Fügen Sie eine NULL in die Spalte ein:

INSERT INTO test_is_null_value_function (variant_value)
  (SELECT PARSE_JSON(NULL));
Copy

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;
Copy
+---------------+------------+------------------+------------------+
| 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 Namen x in jeder Zeile.

  • Die Spalte is_x_a_json_null gibt die Ergebnisse der Funktion IS_NULL_VALUE für den Namen x in jeder Zeile zurück.

  • Die Spalte is_y_a_json_null gibt die Ergebnisse der Funktion IS_NULL_VALUE für den Namen y in jeder Zeile zurück. Da es in keiner Zeile einen passenden Namen y gibt, geben alle Zeilen NULL zurück.