久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL Server中JSON 函數的作用是什么

139次閱讀
沒有評論

共計 2287 個字符,預計需要花費 6 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關 SQL Server 中 JSON 函數的作用是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

2.1 JSON 函數

使用本節中頁面中描述的功能來驗證或更改 JSON 文本或提取簡單或復雜的值。

有關在 SQL Server 中內置 JSON 支持的更多信息,請參閱 JSON 數據(SQL Server)。

2.2 ISJSON

測試字符串是否包含有效的 JSON。

2.2.1 例子

2.3 JSON_VALUE

從 JSON 字符串中提取標量值。

要從 JSON 字符串而不是標量值中提取對象或數組,請參閱 JSON_QUERY(Transact-SQL)。有關 JSON_VALUE 和 JSON_QUERY 之間的差異的信息,請參閱比較 JSON_VALUE 和 JSON_QUERY。

2.4 JSON_QUERY

從 JSON 字符串中提取對象或數組。

要從 JSON 字符串而不是對象或數組中提取標量值,請參閱 JSON_VALUE(Transact-SQL)。有關 JSON_VALUE 和 JSON_QUERY 之間的差異的信息,請參閱比較 JSON_VALUE 和 JSON_QUERY。

2.5 JSON_MODIFY

更新 JSON 字符串中的屬性值,并返回更新的 JSON 字符串。

小結

3 參考文獻

【01】https://docs.microsoft.com/zh-cn/sql/t-sql/language-elements/expressions-transact-sql

4 版權

感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。

以下是一些補充

下面是我們熟悉的 SELECT 及輸出格式,后面對 JSON 的演示基于此 SQL:

2、FOR JSON AUTO,Root():為 JOSN 加上根節點若要為 FOR JSON 加上 Root Key,可以用 ROOT 選項來自定義 ROOT 節點的名稱:

3、FOR JSON PATH 輸出:可通過列別名來定義 JSON 對象的層次結構若要自定義輸出 JSON 格式的結構時,必須使用 JSONPATH。

FOR JSON Auto,自動按照查詢語句中使用的表結構來創建嵌套的 JSON 子數組,類似于 For Xml Auto 特性。 FOR JSON Path,通過列名或者列別名來定義 JSON 對象的層次結構,列別名中可以包含“.”,JSON 的成員層次結構將會與別名中的層次結構保持一致。

這個特性非常類似于早期 SQL Server 版本中的 For Xml Path 子句,可以使用斜線來定義 xml 的層次結構。

4、FOR JSON PATH+ROOT 輸出:為 JOSN 加上根節點

5、INCLUDE_NULL_VALUES:值 null 的字段需要顯示出現。為 NULL 的數據在輸出 JSON 時,會被忽略,若想要讓 NULL 的字段也顯示出來,可以加上選項 INCLUDE_NULL_VALUES,該選項也適用于 AUTO。

6、列的別名,可以增加帶有層級關系的節點。比如下面的 SQL,增加了一個“SN”節點,把欄位 SERNUM 和 CLIMAT 放在里面:

二、解析 JSON 格式的數據

1、使用 OPENJSON() 函數:

2、通過 WITH 選項,自定義輸出列:

三、JSON 函數

declare @param nvarchar(max);set @param = N {  info :{  type :1,  address :{  town : Bristol ,  county : Avon ,  country : England  },  tags :[Sport ,  Water polo] },  type : Basic  }

1、ISJSON:測試字符串是否包含有效 JSON。

print iif(isjson(@param) 0, OK , NO

返回:OK

2、JSON_VALUE:從 JSON 字符串中提取標量值。

print json_value(@param, $.info.address.town print json_value(@param, $.info.tags[1]

返回:Bristol,Water polo

3、JSON_QUERY:從 JSON 字符串中提取對象或數組。

print json_query(@param, $.info

{  type :1,  address :{  town : Bristol ,  county : Avon ,  country : England  },  tags :[Sport ,  Water polo] }

4、JSON_MODIFY : 更新 JSON 字符串中屬性的值,并返回已更新的 JSON 字符串。

print json_modify(@param, $.info.address.town , London

返回:

{  info :{  type :1,  address :{  town : London ,  county : Avon ,  country : England  },  tags :[Sport ,  Water polo] },  type : Basic  }

四、注意事項

SQL2016 中的新增的內置 JSON 進行了簡單介紹,主要有如下要點:

JSON 能在 SQLServer2016 中高效的使用,但是 JSON 并不是原生數據類型;   如果使用 JSON 格式必須為輸出結果是表達式的提供別名;  JSON_VALUE 和 JSON_QUERY 函數轉移和獲取 Varchar 格式的數據,因此必須將數據轉譯成你需要的類型。  在計算列的幫助下查詢 JSON 可以使用索引進行優化。

上述就是丸趣 TV 小編為大家分享的 SQL Server 中 JSON 函數的作用是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計2287字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 容城县| 仁布县| 金平| 象山县| 陆良县| 日喀则市| 油尖旺区| 沾益县| 望江县| 巢湖市| 台湾省| 永州市| 赤峰市| 犍为县| 马龙县| 寻甸| 贺州市| 同江市| 奉新县| 天峻县| 神池县| 凌云县| 盐津县| 罗城| 天津市| 乐清市| 赞皇县| 扎兰屯市| 阿拉善盟| 苏尼特右旗| 曲麻莱县| 宝鸡市| 澎湖县| 南郑县| 兴文县| 天长市| 察隅县| 南安市| 泽普县| 平和县| 钟山县|