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

sql server2016里面的json功能怎么使用

178次閱讀
沒有評論

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

這篇文章主要介紹“sql server2016 里面的 json 功能怎么使用”,在日常操作中,相信很多人在 sql server2016 里面的 json 功能怎么使用問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”sql server2016 里面的 json 功能怎么使用”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

測試一下基本的,從查詢結果里面構造一個 json 的格式

create table t1(ID int identity,name nvarchar(50),Chinese int ,Math int)insert into t1 values (張三 ,90,80),(李四 ,75,90),(王五 ,68,100)select * from t1select * from t1 for json auto-- 查詢結果 ID name Chinese Math----------- -------------------------------------------------- ----------- -----------1  張三  90 802  李四  75 903  王五  68 100--json  格式 [{ID :1, name : 張三 , Chinese :90, Math :80},{ID :2, name : 李四 , Chinese :75, Math :90},{ID :3, name : 王五 , Chinese :68, Math :100}]

這個是默認模式下面使用 json 的查詢結果。是不是十分清晰

然后我們再接再厲,第二波是這樣紙的。假如我們要繼續搞有層級關系的。我們還可以這樣寫。比方說把成績放在一個叫 points 的節點里面,也是可以分層的

select ID, name, Chinese as [Points.Chinese], Math as [Points.Math] from t1 for json path-- 結果 json[{ID :1, name : 張三 , Points :{ Chinese :90, Math :80}},{ID :2, name : 李四 , Points :{ Chinese :75, Math :90}},{ID :3, name : 王五 , Points :{ Chinese :68, Math :100}}]

他們的分數就放在了 json 里面的, 被一個 point 包住了。

如果說我要在這個結果里面添加一個頭來包住,當然,我可以使用每個列來個別名 [root.col] 來實現,然而就有點啰嗦了。所以我們可以使用這個 root 的關鍵字來添加一個頂節點

select ID, name, Chinese as [Points.Chinese], Math as [Points.Math] from t1 for json path,root(root) -- 返回的 json 結果 {root :[ { ID :1, name : 張三 , Points :{ Chinese :90, Math :80}}, {ID :2, name : 李四 , Points :{ Chinese :75, Math :90}},{ID :3, name : 王五 , Points :{ Chinese :68, Math :100}}]}

當然咯,查詢嘛,錄入數據總是難免遇到 null 值,在這方面,for json 是如何處理的呢?我在測試表添加一條數據在來查詢

insert into t1 values (趙六 ,100,null)select ID, name, Chinese as [Points.Chinese], Math as [Points.Math] from t1 where id in(3, 4) for json auto--json 的返回結果 [{ID :3, name : 王五 , Points.Chinese :68, Points.Math :100},{ID :4, name : 趙六 , Points.Chinese :100}]

auto 模式下,如果是空值,將會忽略該屬性。這樣的話很容易就每一個集合返回的屬性數量都不一來,這樣不好看。所以應對這種情況,我們可以使用 incluede_null_values 關鍵字,即使是空值,也帶出來

select ID, name, Chinese as [Points.Chinese], Math as [Points.Math] from t1 where id in(3, 4) for json auto, include_null_values--json  的返回結果 [{ID :3, name : 王五 , Points.Chinese :68, Points.Math :100},{ID :4, name : 趙六 , Points.Chinese :100, Points.Math :null}]

使用了這個關鍵字,就可以把空值帶出來,里面的值是 Null 值

到此,關于“sql server2016 里面的 json 功能怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-18發表,共計2118字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 泽州县| 西乌珠穆沁旗| 久治县| 阜新| 泰州市| 绥滨县| 徐闻县| 贵港市| 延吉市| 胶州市| 镇沅| 务川| 乳山市| 阆中市| 兴化市| 托里县| 旌德县| 赤水市| 郓城县| 辛集市| 贺州市| 车险| 睢宁县| 舞阳县| 怀远县| 郁南县| 临城县| 曲松县| 南平市| 东阿县| 宜川县| 清镇市| 福泉市| 鄂托克旗| 恭城| 昂仁县| 青浦区| 邯郸县| 旅游| 临城县| 黑水县|