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 einen SQL NULL-Wert 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 einen Zeichenfolgenwert in die Spalte ein:

INSERT INTO test_is_null_value_function (variant_value)
  (SELECT PARSE_JSON('"string value"'));
Copy

Bemerkung

Die Funktion PARSE_JSON gibt einen VARIANT-Wert zurück.

Fügen Sie einen JSON-Nullwert in die Spalte ein:

INSERT INTO test_is_null_value_function (variant_value)
  (SELECT PARSE_JSON('null'));
Copy

Fügen Sie ein leeres Objekt in die Spalte ein:

INSERT INTO test_is_null_value_function (variant_value)
  (SELECT PARSE_JSON('{}'));
Copy

Fügen Sie zwei Zeilen mit JSON-Name/Wert-Paaren in die VARIANT-Spalte ein:

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) is_variant_value_a_json_null,
       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_VARIANT_VALUE_A_JSON_NULL | IS_X_A_JSON_NULL | IS_Y_A_JSON_NULL |
|----------------+------------+------------------------------+------------------+------------------|
| "string value" | NULL       | False                        | NULL             | NULL             |
| null           | NULL       | True                         | NULL             | NULL             |
| {}             | NULL       | False                        | NULL             | NULL             |
| {              | null       | False                        | True             | NULL             |
|   "x": null    |            |                              |                  |                  |
| }              |            |                              |                  |                  |
| {              | "foo"      | False                        | False            | NULL             |
|   "x": "foo"   |            |                              |                  |                  |
| }              |            |                              |                  |                  |
| NULL           | NULL       | NULL                         | NULL             | NULL             |
+----------------+------------+------------------------------+------------------+------------------+

In den Abfrageergebnissen:

  • Die Spalte variant_value zeigt sechs 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_variant_value_a_json_null gibt die Ergebnisse der Funktion IS_NULL_VALUE für den VARIANT-Wert in jeder Zeile zurück.

  • 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. Zeilen ohne einen Namen x geben NULL 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.