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
廣告