JSON_PATH_EXISTS (Transact-SQL)

適用対象: SQL Server 2022 (16.x) Azure SQL データベース Azure SQL Managed Instance

指定した SQL/JSON パスが入力 JSON 文字列に存在するかどうかをテストします。

Transact-SQL 構文表記規則

構文

JSON_PATH_EXISTS( value_expression, sql_json_path )

引数

value_expression

文字式。

sql_json_path

入力でテストする有効な SQL/JSON パス。

戻り値

10、またはNULLの int 値を返します。 value_expression または入力が SQL NULL 値の場合は NULL を返します。 指定した SQL/JSON パスが入力に存在する場合、または空でないシーケンスを返す場合は、1 を返します。 それ以外の場合は 0 を返します。

JSON_PATH_EXISTS 関数はエラーを返しません。

例 1

次の例では、入力 JSON 文字列に指定した SQL/JSON パスが含まれるため、1 が返されます。

DECLARE @jsonInfo 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 NVARCHAR(MAX)

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

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