- Catégories :
Fonctions d’expressions conditionnelles , Fonctions de données semi-structurées et structurées (prédicats de type)
IS_NULL_VALUE¶
Renvoie TRUE si son argument VARIANT est une valeur JSON nulle.
Important
La valeur JSON null est distincte de la valeur SQL NULL.
Cette fonction renvoie TRUE uniquement pour les valeurs JSON et non pour les valeurs SQL NULL. La différence est indiquée dans les première et troisième lignes de la sortie pour l’exemple ci-dessous.
Une valeur JSON manquante est convertie en valeur SQL NULL, pour laquelle IS_NULL_VALUE renvoie NULL. La 4e colonne de la sortie pour l’exemple ci-dessous en donne une illustration.
Cette fonction est différente de la fonction IS [ NOT ] NULL.
- Voir aussi :
Syntaxe¶
IS_NULL_VALUE( <variant_expr> )
Arguments¶
variant_expr
Une expression qui correspond à une valeur de type VARIANT.
Renvoie¶
Cette fonction renvoie une valeur de type BOOLEAN ou NULL :
Renvoie TRUE pour une valeur nulle JSON.
Renvoie FALSE pour une valeur non nulle JSON.
Renvoie NULL pour SQL NULL.
Exemples¶
Cet exemple utilise la fonction IS_NULL_VALUE. Tout d’abord, créez une table avec une colonne VARIANT :
CREATE OR REPLACE TABLE test_is_null_value_function (
variant_value VARIANT);
Insérez deux lignes avec des paires nom/valeur JSON dans la colonne VARIANT utilisant la fonction PARSE_JSON :
Note
La fonction PARSE_JSON renvoie une valeur VARIANT.
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"}'));
Insérez une valeur NULL dans la colonne :
INSERT INTO test_is_null_value_function (variant_value)
(SELECT PARSE_JSON(NULL));
Interrogez la table :
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 |
+---------------+------------+------------------+------------------+
Dans les résultats de la requête :
La colonne
variant_value
affiche trois lignes de valeurs VARIANT insérées.La colonne
value_of_x
montre la valeur JSON pour le nomx
dans chaque ligne.La colonne
is_x_a_json_null
renvoie les résultats de la fonction IS_NULL_VALUE pour le nomx
dans chaque ligne.La colonne
is_y_a_json_null
renvoie les résultats de la fonction IS_NULL_VALUE pour le nomy
dans chaque ligne. Parce qu’il n’y a pas de nomy
correspondant dans l’une des lignes, toutes les lignes renvoient NULL.