- 카테고리:
조건식 함수 , 반정형 및 정형 데이터 함수 (형식 조건자)
IS_NULL_VALUE¶
VARIANT 인자가 JSON null 값이면 TRUE를 반환합니다.
중요
JSON null 값은 SQL NULL 값과 다릅니다.
이 함수는 SQL NULL 값이 아닌 JSON null 값에 대해서만 TRUE를 반환합니다. 차이점은 아래 예의 출력 에서 첫 번째 행과 세 번째 행에 나와 있습니다.
누락된 JSON 값은 IS_NULL_VALUE 가 NULL을 반환하는 SQL NULL 값으로 변환됩니다. 아래 예의 출력 에서 4번째 열이 이를 보여줍니다.
이 함수는 IS [ NOT ] NULL 함수와 다릅니다.
- 참고 항목:
구문¶
IS_NULL_VALUE( <variant_expr> )
인자¶
variant_expr
VARIANT 형식의 값으로 평가되는 식입니다.
반환¶
이 함수는 BOOLEAN 타입 또는 NULL의 값을 반환합니다.
JSON null 값의 경우 TRUE를 반환합니다.
null이 아닌 JSON 값의 경우 FALSE를 반환합니다.
SQL NULL의 경우 NULL을 반환합니다.
예¶
이 예에서는 IS_NULL_VALUE 함수를 사용합니다. 먼저, VARIANT 열이 있는 테이블을 만듭니다.
CREATE OR REPLACE TABLE test_is_null_value_function (
variant_value VARIANT);
PARSE_JSON 함수를 사용하여 JSON 이름/값 페어가 있는 두 행을 VARIANT 열에 삽입합니다.
참고
PARSE_JSON 함수는 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"}'));
NULL을 열에 삽입합니다.
INSERT INTO test_is_null_value_function (variant_value)
(SELECT PARSE_JSON(NULL));
테이블을 쿼리합니다.
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 |
+---------------+------------+------------------+------------------+
쿼리 결과에서
삽입된 VARIANT 값의 세 행이
variant_value
열에 표시됩니다.각 행의 이름
x
에 대한 JSON 값이value_of_x
열에 표시됩니다.is_x_a_json_null
열은 각 행의 이름x
에 대한 IS_NULL_VALUE 함수의 결과를 반환합니다.is_y_a_json_null
열은 각 행의 이름y
에 대한 IS_NULL_VALUE 함수의 결과를 반환합니다. 어느 행에도 일치하는y
이름이 없으므로 모든 행에서 NULL을 반환합니다.