적용 대상:Microsoft Fabric Preview의Microsoft Fabric
SQL Database에서 Microsoft Fabric Warehouse의 SQL Server 2016(13.x) 이상 버전
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL 분석 엔드포인트
구문은 ISJSON
문자열에 유효한 JSON이 포함되어 있는지 여부를 테스트합니다.
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
테스트할 문자열입니다.
json_type_constraint
입력을 체크 인할 JSON 형식을 지정합니다. 유효한 값은 VALUE
, ARRAY
, OBJECT
또는 SCALAR
입니다. SQL Server 2022(16.x)에서 도입되었습니다.
Note
json_type_constraint 인수는 Azure Synapse Analytics Dedicated 풀에서 지원되지 않습니다.
Return value
문자열에 유효한 JSON이 포함되어 있으면 1
을(를) 반환하고 그렇지 않으면 0
을(를) 반환합니다.
식이 null이면 반환 NULL
합니다.
문이 json_type_constraint 생략하면 함수는 입력이 유효한 JSON 개체 또는 배열인지 테스트하고 그렇지 않으면 반환 1
합니다 0
.
json_type_constraint 지정된 경우 함수는 다음과 같이 JSON 형식을 확인합니다.
Value | Description |
---|---|
VALUE |
유효한 JSON 값에 대한 테스트입니다. JSON 개체, 어레이, 숫자, 문자열 또는 세 가지 리터럴 값(false, true, null) 중 하나일 수 있습니다 |
ARRAY |
유효한 JSON 어레이 테스트 |
OBJECT |
유효한 JSON 개체 테스트 |
SCALAR |
유효한 JSON 스칼라 테스트 - 숫자 또는 문자열 |
json_type_constraint 값 SCALAR을 사용하여 최상위 수준의 JSON 스칼라 값만 포함하는 IETF RFC 8259 호환 JSON 문서를 테스트할 수 있습니다. 최상위 수준의 JSON 스칼라 값이 없는 JSON 문서는 IETF RFC 4627을 준수합니다.
오류를 반환하지 않습니다.
Remarks
ISJSON
은(는) 동일한 수준에서 키의 고유성을 확인하지 않습니다.
Examples
Example 1
다음 예제에서는 매개 변수 값 @param
에 유효한 JSON이 포함되어 있으면 조건부로 명령문 블록을 실행합니다.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Example 2
다음 예제는 json_col
열에 유효한 JSON이 포함된 행을 반환합니다.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Example 3
다음 예제는 json_col
열에 유효한 최상위 수준의 JSON SCALAR가 포함된 행을 반환합니다.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Example 4
다음 예제에서는 입력이 유효한 JSON 값인 true이므로 1을 반환 합니다.
SELECT ISJSON('true', VALUE)
Example 5
다음 예제에서는 입력이 유효하지 않은 JSON 값이므로 0을 반환합니다.
SELECT ISJSON('test string', VALUE)
Example 6
다음 예제에서는 입력이 RFC 8259에 따른 유효한 JSON 스칼라이므로 1을 반환합니다.
SELECT ISJSON('"test string"', SCALAR)