SqlServer2016 JSON格式資料操作

2021-10-09 21:23:25 字數 2031 閱讀 8456

json結構轉為列表模式

declare @json nvarchar(max) = n'

}'1.  select * from openjson(@json)

結果:key    value                        type

001    null                        0

002    duffy                         1

003    123                            2

004    456.789                     2

005    ["dev","qa","pm"]     4

006        5

2. select [key], value from openjson(@json, '$."006"')

key           value

country    canada

territory    north america

3.判斷是否為json字串

select case when isjson(@json) > 0 then 'is json.' else 'not json.' end

4. 從乙個json片段中抽取乙個標量值

with tbl(strjson) as

(select  n'}')

select json_value(strjson, '$."006".country') from tbl

結果:canada

5.  從乙個json片段中抽取了乙個物件或陣列

with tbl(strjson) as

(select  n'}')

select json_query(strjson, '$."006"') from tbl

結果:將查詢結果輸出json格式

with tbl(id, descr) as

(select  '001', 'aaa' union all

select  '002', 'bbb' union all

select  '003', 'ccc'

)將select語句的結果以json輸出

select id, descr from tbl for json auto

結果:[,,]

將select語句的結果以json輸出, 並為for json加上root key

select id, descr from tbl for json auto, root('list')

結果:,,]}

要自定義輸出json格式的結構時,必須使用jsonpath。

若select的列中,存在列名名稱相同時,必須用別名重新命名

jsonpath輸出

select id, descr from tbl for json path

jsonpath+root輸出

select id, descr from tbl for json path, root('list')

為null的資料在輸出json時,會被忽略,若想要讓null的字段也顯示出來,可以加上選項include_null_values,該選項也適用於auto

select id, descr from tbl for json path, root('list'), include_null_values

帶有層級關係的,可以增加節點,比如下面的sql,增加了乙個「sn」節點,把字段sernum和climat放在裡面

通過with選項,自定義輸出列

SQL Server 2016 認證體系

sql server 2012 2014 認證體系 證書名稱 mcsa sql server 2012 2014 1.exam461 querying microsoft sql server 2012 2014 2.exam462 administering microsoft sql serve...

SQL server 2016 安裝步驟

1.進入安裝中心 可以參考硬體和軟體要求 可以看到一些說明文件 2.選擇全新安裝模式繼續安裝 3.輸入產品秘鑰 這裡使用演示秘鑰進行 4.在協議中,點選同意,並點選下一步按鈕,繼續安裝 5.進入全域性規則檢查項,這裡可能要花費幾秒鐘,試具體情況而定 6.配置更新項,推薦檢查更新 7.選擇安裝更新的具...

SQL Server 2016 配置 SA 登入

tips 在win10中查詢sql server 2016配置管理器,用來開啟sql server網路配置,啟用例項tcp ip協議和name pipe。windows 10 要開啟 sql server 配置管理器,請在 起始頁 中鍵入 sqlservermanager13.msc 適用於 sql...