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:

IS_<tipo_de_objeto>

Sintaxe

IS_NULL_VALUE( <variant_expr> )
Copy

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

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

Insira um NULL na coluna:

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

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;
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             |
+---------------+------------+------------------+------------------+

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 nome x em cada linha.

  • A coluna is_x_a_json_null retorna os resultados da função IS_NULL_VALUE para o nome x em cada linha.

  • A coluna is_y_a_json_null retorna os resultados da função IS_NULL_VALUE para o nome y em cada linha. Como não há nenhum nome correspondente a y em nenhuma linha, todas as linhas retornam NULL.