JSON_PATH_EXISTS (Transact-SQL)
適用対象: SQL Server 2022 (16.x) Azure SQL データベース Azure SQL Managed Instance
指定した SQL/JSON パスが入力 JSON 文字列に存在するかどうかをテストします。
構文
JSON_PATH_EXISTS( value_expression, sql_json_path )
引数
value_expression
文字式。
sql_json_path
入力でテストする有効な SQL/JSON パス。
戻り値
1
、0
、または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