JSON_PATH_EXISTS (Transact-SQL)

适用于: SQL Server 2022 (16.x) Azure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsMicrosoft FabricWarehouse Microsoft Fabric 中的 SQL 分析终结点

测试输入 JSON 字符串中是否存在指定的 SQL/JSON 路径。

Transact-SQL 语法约定

语法

JSON_PATH_EXISTS( value_expression , sql_json_path )

参数

value_expression

字符表达式。

sql_json_path

用于在输入中测试的有效 SQL/JSON 路径。

返回值

返回 int 值 10NULL。 如果 value_expressionNULL 或输入为 SQL 值,则返回 NULL。 如果输入中存在给定的 SQL/JSON 路径,则返回 1,或者返回非空序列。 否则将返回 0

JSON_PATH_EXISTS 函数不返回错误。

示例

示例 1

下面的示例将返回 1,因为输入 JSON 字符串包含指定的 SQL/JSON 路径。

DECLARE @jsonInfo AS NVARCHAR (MAX);

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

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

下面是结果集。

1

示例 2

下面的示例将返回 0,因为输入 JSON 字符串不包含指定的 SQL/JSON 路径。

DECLARE @jsonInfo AS NVARCHAR (MAX);

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

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

下面是结果集。

0