- Categorias:
Funções de expressão condicional , Funções de dados semiestruturados e estruturados (Predicados de tipo)
IS_NULL_VALUE¶
Retorna TRUE se seu argumento VARIANT for um valor nulo JSON.
Importante
O valor JSON nulo é distinto do valor SQL NULL.
Esta função retorna TRUE somente para valores nulo JSON, não valores SQL NULL. A diferença é mostrada na primeira e terceira linhas na saída do exemplo abaixo.
Um valor JSON ausente é convertido em um valor SQL NULL, para o qual IS_NULL_VALUE retorna NULL. A quarta coluna na saída do exemplo abaixo mostra isso.
Esta função é diferente da função IS [ NOT ] NULL.
- Consulte também:
Sintaxe¶
IS_NULL_VALUE( <variant_expr> )
Argumentos¶
variant_expr
Uma expressão que avalia como um valor do tipo VARIANT.
Retornos¶
Esta função retorna um valor do tipo BOOLEAN ou NULL:
Retorna TRUE para um valor JSON nulo.
Retorna FALSE para um valor JSON não nulo.
Retorna NULL para um SQL NULL.
Exemplos¶
Este exemplo usa a função IS_NULL_VALUE. Primeiro, crie uma tabela com uma coluna VARIANT:
CREATE OR REPLACE TABLE test_is_null_value_function (
variant_value VARIANT);
Insira duas linhas com pares nome/valor JSON na coluna VARIANT usando a função PARSE_JSON:
Nota
A função PARSE_JSON retorna um valor 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"}'));
Insira um NULL na coluna:
INSERT INTO test_is_null_value_function (variant_value)
(SELECT PARSE_JSON(NULL));
Consultar a tabela:
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 |
+---------------+------------+------------------+------------------+
Nos resultados de consulta:
A coluna
variant_value
mostra três linhas de valores VARIANT inseridos.A coluna
value_of_x
mostra o valor JSON do nomex
em cada linha.A coluna
is_x_a_json_null
retorna os resultados da função IS_NULL_VALUE para o nomex
em cada linha.A coluna
is_y_a_json_null
retorna os resultados da função IS_NULL_VALUE para o nomey
em cada linha. Como não há nenhum nome correspondente ay
em nenhuma linha, todas as linhas retornam NULL.