SQL - JSON_PATH_EXISTS() 函数



类似于 XML 的 XPath,JSONPath 是一种用于 JSON 的查询语言。您可以使用它选择和提取 JSON 文档中的数据。使用 JSONPath 表达式遍历 JSON 结构中元素的路径。

SQL 中的 SQL JSON_PATH_EXISTS() 用于确定特定 JSON 路径是否存在于 JSON 字符串中。当找到路径时,函数返回位值 1,否则返回 0。

语法

以下是 SQL JSON_PATH_EXISTS() 函数的语法:

JSON_PATH_EXISTS( value_expression, sql_json_path )

参数

  • value_expression − 它表示一个字符表达式。

  • sql_json_path − 它表示输入中要测试的有效 SQL/JSON 路径。

示例

让我们看一下以下示例,它返回 1,因为输入 JSON 字符串包含指定的路径:

DECLARE @work VARCHAR(MAX)
SET @work=N'{"info":{"salary":[{"Ramesh":"20000"},{"suresh":"300000"}]}}';
SELECT JSON_PATH_EXISTS(@work,'$.info.salary') AS Result; 

输出

当我们执行上述查询时,输出如下所示:

+---------------------------------------------------------+
|                                                 Result  |
+---------------------------------------------------------+
|                                                       1 |
+---------------------------------------------------------+

示例

让我们看一下另一种情况,其中输出返回 0,因为输入 JSON 字符串不包含指定的路径:

DECLARE @work VARCHAR(MAX)
SET @work=N'{"info":{"salary":[{"Ramesh":"20000"},{"suresh":"300000"}]}}';
SELECT JSON_PATH_EXISTS(@work,'$.info.salaries') AS Result; 

输出

执行上述查询后,输出显示如下:

+----------------------------------------------+
|                                       Result |
+----------------------------------------------+
|                                            0 |
+----------------------------------------------+
sql-json-functions.htm
广告