次の方法で共有


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またはNULLの int 値を返します。 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