SQL JSON_PATH_EXISTS()函数
类似于XML的XPath,JSONPath是一种用于JSON的查询语言。您可以使用它选择和提取JSON文档中的数据。使用JSONPath表达式遍历JSON结构中的元素路径。
在 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 |
+----------------------------------------------+