下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 數(shù)據(jù)庫 > MS_SQL > SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          時間:2024-02-05 12:47作者:下載吧人氣:20

          SQL Server 2005開始支持XML數(shù)據(jù)類型,提供原生的XML數(shù)據(jù)類型、XML索引及各種管理或輸出XML格式的函數(shù)。隨著JSON的流行,SQL Server2016開始支持JSON數(shù)據(jù)類型,不僅可以直接輸出JSON格式的結(jié)果集,還能讀取JSON格式的數(shù)據(jù)。

          1 概述

          本篇文件將結(jié)合MSND簡要分析Sqlserver中JSON函數(shù),主要包括ISJSON,JSON_VALUE,JSON_MODIFY,JSON_QUERY。

          2 具體內(nèi)容

          2.1 JSON 函數(shù)

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          有關(guān)在SQL Server中內(nèi)置JSON支持的更多信息,請參閱JSON數(shù)據(jù)(SQL Server)。

          2.2 ISJSON

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          2.2.1 例子

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          2.3 JSON_VALUE

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

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          2.4 JSON_QUERY

          從JSON字符串中提取對象或數(shù)組。

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          2.5 JSON_MODIFY

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          小結(jié)

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          3 參考文獻

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

          4 版權(quán)

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

          以下是一些補充

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

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

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

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          二、 解析JSON格式的數(shù)據(jù)

          1、使用OPENJSON()函數(shù):

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

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

          SQL開發(fā)知識:SQL Server之JSON 函數(shù)詳解

          三、JSON函數(shù)

          declare @param nvarchar(max);

          set @param = N'{
          “info”:{
          “type”:1,
          “address”:{
          “town”:”Bristol”,
          “county”:”Avon”,
          “country”:”England”
          },
          “tags”:[“Sport”, “Water polo”]
          },
          “type”:”Basic”
          }’;

          標簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫,SQLSERVER

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

          網(wǎng)友
          您的評論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 日本人的色道www免费一区| 亚洲蜜芽在线精品一区| 农村乱人伦一区二区| 国产亚洲综合精品一区二区三区 | 午夜精品一区二区三区免费视频| 精品少妇人妻AV一区二区| 亚洲国产精品无码久久一区二区| 亚洲AV无码一区二区三区在线观看| 无码国产精品一区二区免费虚拟VR| 国产美女视频一区| 国产精品伦子一区二区三区| 97se色综合一区二区二区| 亚洲高清美女一区二区三区| 无码AV中文一区二区三区| 久久精品人妻一区二区三区| 亚洲第一区精品观看| 无码人妻精品一区二区三区99不卡 | 肥臀熟女一区二区三区| 视频一区二区在线播放| 国产一区在线视频观看| 国产精品第一区揄拍无码| 午夜视频在线观看一区二区| 亚洲欧美一区二区三区日产| 蜜桃臀无码内射一区二区三区| 天堂资源中文最新版在线一区| A国产一区二区免费入口| 国产亚洲情侣一区二区无码AV| 中文字幕日韩人妻不卡一区 | 一区二区不卡在线| 无码乱码av天堂一区二区| 亚洲欧美日韩一区二区三区在线| 色欲AV蜜桃一区二区三| 欧美日本精品一区二区三区| 日韩免费无码一区二区视频| 亚洲AV无码一区二区三区在线观看| 一区二区手机视频| 国产无线乱码一区二三区 | 内射少妇一区27P| 亚洲第一区精品日韩在线播放| 国产福利电影一区二区三区,日韩伦理电影在线福 | 中文字幕一区二区三区永久 |