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

          軟件下載吧

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

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

          時(shí)間:2024-02-05 12:47作者:下載吧人氣:15

          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é)中頁面中描述的功能來驗(yàn)證或更改JSON文本或提取簡單或復(fù)雜的值。

          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字符串中提取標(biāo)量值。

          要從JSON字符串而不是標(biāo)量值中提取對象或數(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ù)組中提取標(biāo)量值,請參閱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 參考文獻(xiàn)

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

          4 版權(quán)

          感謝您的閱讀,若有不足之處,歡迎指教,共同學(xué)習(xí)、共同進(jìn)步。

          以下是一些補(bǔ)充

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          2、通過WITH選項(xiàng),自定義輸出列:

          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”
          }’;

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

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 无码一区二区三区爆白浆| 相泽亚洲一区中文字幕| 福利在线一区二区| 精品国产伦一区二区三区在线观看| 国产成人综合精品一区| 日本一区午夜爱爱| 嫩B人妻精品一区二区三区| 亚洲视频在线一区二区| 日韩人妻无码一区二区三区 | 91一区二区三区| 日韩综合无码一区二区| 午夜福利一区二区三区在线观看| 精品国产一区二区三区麻豆 | 日本无码一区二区三区白峰美| 麻豆国产一区二区在线观看| 亚洲第一区二区快射影院| 中文字幕无线码一区2020青青| 日本精品视频一区二区| 一区二区三区在线观看免费| 欧洲精品无码一区二区三区在线播放| 三上悠亚国产精品一区| 精品一区二区三区在线播放视频| 国产精品99精品一区二区三区| 无码日韩精品一区二区人妻| 青青青国产精品一区二区| 日韩精品人妻一区二区三区四区| 一区免费在线观看| 精品无码一区二区三区爱欲| 无码人妻一区二区三区在线水卜樱 | 69福利视频一区二区| 亚洲AV无码一区二区三区国产| 亚洲欧洲一区二区| 久久婷婷色综合一区二区| 国产色精品vr一区区三区 | 亚洲bt加勒比一区二区| 国产精品福利区一区二区三区四区| 在线日产精品一区| 久久青草精品一区二区三区| 一区二区三区视频在线播放| 一区二区三区无码被窝影院| 亚洲综合无码精品一区二区三区|