다음을 통해 공유


JSON_PATH_EXISTS(Transact-SQL)

적용 대상: SQL Server 2022(16.x) Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft FabricWarehouse의 SQL 분석 엔드포인트

지정된 SQL/JSON 경로가 입력 JSON 문자열에 있는지 여부를 테스트합니다.

Transact-SQL 구문 표기 규칙

구문

JSON_PATH_EXISTS( value_expression , sql_json_path )

인수

value_expression

문자 식입니다.

sql_json_path

입력에서 테스트할 유효한 SQL/JSON 경로입니다.

반환 값

또는 1 .의 0 int 값을 반환합니다NULL. NULL 또는 입력이 SQL 값이면 NULL을(를) 반환합니다. 지정된 SQL/JSON 경로가 입력에 있거나 비어 있지 않은 시퀀스를 반환하면 1을(를) 반환합니다. 그렇지 않으면 0을(를) 반환합니다.

JSON_PATH_EXISTS 함수는 오류를 반환하지 않습니다.

예제

예 1

다음 예제에서는 입력 JSON 문자열에 지정된 SQL/JSON 경로가 포함되어 있기 때문에 1을 반환합니다.

DECLARE @jsonInfo AS NVARCHAR (MAX);

SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.address');

결과 집합은 다음과 같습니다.

1

예 2

다음 예제에서는 입력 JSON 문자열에 지정된 SQL/JSON 경로가 포함되어 있기 때문에 0을 반환합니다.

DECLARE @jsonInfo AS NVARCHAR (MAX);

SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');

결과 집합은 다음과 같습니다.

0