分享方式:


JSON_PATH_EXISTS (Transact-SQL)

適用於:SQL Server 2022 (16.x) Azure SQL 資料庫 Azure SQL 受控執行個體

測試指定的 SQL/JSON 路徑是否存在於輸入 JSON 字串中。

Transact-SQL 語法慣例

語法

JSON_PATH_EXISTS( value_expression, sql_json_path )

引數

value_expression

字元運算式。

sql_json_path

在輸入中測試的有效 SQL/JSON 路徑。

傳回值

傳回 或 0 NULL1 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