CHECK_JSON
CHECK_JSON (JSON 유효성 검사)
JSON 문서의 유효성을 확인해요. 입력 문자열이 유효한 JSON 문서이거나 NULL이면 출력은 NULL이에요(즉 오류 없음). 입력을 유효한 JSON 값으로 변환할 수 없으면 출력 문자열에 오류 메시지가 담겨요.
본문
구문
CHECK_JSON( <string_or_variant_expr> )
인자
string_or_variant_expr
확인할 VARIANT 또는 문자열 값(또는 표현식)이에요.
표현식이 VARIANT 타입이면 문자열을 포함해야 해요.
예시
테이블을 만들고 몇몇 VARCHAR와 VARIANT 값을 삽입해요.
CREATE TABLE sample_json_table (ID INTEGER, varchar1 VARCHAR, variant1 VARIANT);
INSERT INTO sample_json_table (ID, varchar1) VALUES
(1, '{"ValidKey1": "ValidValue1"}'),
(2, '{"Malformed -- Missing value": }'),
(3, NULL)
;
UPDATE sample_json_table SET variant1 = varchar1::VARIANT;
CHECK_JSON 함수를 사용해 VARCHAR 열의 잠재적 JSON 호환 문자열의 유효성을 확인해요.
SELECT ID, CHECK_JSON(varchar1), varchar1 FROM sample_json_table ORDER BY ID;
+----+----------------------+----------------------------------+
| ID | CHECK_JSON(VARCHAR1) | VARCHAR1 |
|----+----------------------+----------------------------------|
| 1 | NULL | {"ValidKey1": "ValidValue1"} |
| 2 | misplaced }, pos 32 | {"Malformed -- Missing value": } |
| 3 | NULL | NULL |
+----+----------------------+----------------------------------+
CHECK_JSON 함수를 사용해 VARIANT 열의 잠재적 JSON 호환 문자열의 유효성을 확인해요.
SELECT ID, CHECK_JSON(variant1), variant1 FROM sample_json_table ORDER BY ID;
+----+----------------------+--------------------------------------+
| ID | CHECK_JSON(VARIANT1) | VARIANT1 |
|----+----------------------+--------------------------------------|
| 1 | NULL | "{\"ValidKey1\": \"ValidValue1\"}" |
| 2 | misplaced }, pos 32 | "{\"Malformed -- Missing value\": }" |
| 3 | NULL | NULL |
+----+----------------------+--------------------------------------+