欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL Server原生支持的JSON數(shù)據(jù)類型

admin
2024年10月1日 13:38 本文熱度 723

作者:樺仔 

10余年DBA工作經(jīng)驗,

微信:debolop

QQ交流群:740052625

公眾號:數(shù)據(jù)庫實戰(zhàn)派


SQL Server 2005 開始支持 XML 數(shù)據(jù)類型,提供原生的 XML數(shù)據(jù)類型、XML 索引以及各種管理 XML 或輸出 XML 格式的函數(shù)。

在 SQL Server 時隔 4 個主要版本之后,終于在 Microsoft Ignite 2015 大會上正式宣布,新一代的 SQL Server 2016 正式支持現(xiàn)在最流行的數(shù)據(jù)交換格式— JSON(JavaScript Object Notation)。

 

SQL Server 2016 對JSON的支持并不是增加一個JSON數(shù)據(jù)類型,而是提供一個更輕便的框架,幫助用戶在數(shù)據(jù)庫里處理JSON格式數(shù)據(jù)。

用戶不需要更變現(xiàn)有的表結(jié)構(gòu),因為SQL Server使用NVARCHAR 數(shù)據(jù)類型來存儲JSON文件,并且跟現(xiàn)有技術(shù)相互兼容,比如全文搜索、列存儲索引、in-memory OLTP,應用程序不需要做任何修改

 

不需要使用JSON.Net這類工具分析和處理JSON數(shù)據(jù),利用SQL Server內(nèi)置函數(shù)就可以處理JSON數(shù)據(jù),輕松將查詢結(jié)構(gòu)輸出為JSON格式,或者搜索JSON文件內(nèi)容。

 JSON AUTO 輸出JSON 格式

要將select語句的結(jié)果以JSON輸出,最簡單的方法是在后面加上 FOR JSON AUTO

SELECT * FROM [dbo].[Client] GO
SELECT * FROM [dbo].[Client] FOR JSON AUTOGO


我們可以把每列中顯示的最大字符數(shù) 設(shè)置為8192

Root Key

如果想為FOR JSON 加上Root Key,可以使用ROOT選項來指定 Root Key 名稱
SELECT * FROM [dbo].[Client] FOR JSON AUTO,ROOT('SUSU')GO

使用JSON PATH 輸出JSON格式

當想要自定義輸出JSON格式結(jié)構(gòu)的時候,必須用JSON PATH描述,若SELECT 的字段名稱相同,必須用別名方式來重新命名字段名這樣才可以繼續(xù)查詢

另外,如果字段的默認值為NULL,那么輸出JSON時,JSON會忽略null的只。如果要顯示null值,可以加上INCLUDE_NULL_VALUES 選項(同樣適用于JSON AUTO字句)

select * from  [dbo].[Client]
--FOR JSON PATHSELECT * FROM [dbo].[Client] WHERE ClientID =2FOR JSON PATH
[{"ClientID":2,"Firstname":"Peter","Lastname":"Nielsen","Birthdate":"1998-05-19T00:00:00","Email":"Peter@126.com","PhoneNumber":"+86-16326269674","Birthplace":"Stockholm","SocialSecurityNumber":"1901531234"}]
--FOR JSON PATHSELECT * FROM [dbo].[Client] WHERE ClientID =4FOR JSON PATH,INCLUDE_NULL_VALUES
[{"ClientID":4,"Firstname":"kade","Lastname":null,"Birthdate":"1980-01-06T00:00:00","Email":"Lotte@SOHU.com","PhoneNumber":"+86-16326269674","Birthplace":"Aalborg","SocialSecurityNumber":"1061234"}]

更多關(guān)于JSON的功能

SQL Server 對于JSON的功能支持已經(jīng)非常豐富,例如內(nèi)置處理JSON格式化的函數(shù)

ISJSON(判斷是否是JSON格式)、JSON_VALUE(分析JSON文件并提取出值) 、OPENJSON(將JSON文件轉(zhuǎn)換為普通數(shù)據(jù)表)

總結(jié)

SQL Server 自 2016 版本起正式支持 JSON 格式,為開發(fā)者提供了更強大的數(shù)據(jù)處理能力。盡管沒有引入專門的 JSON 數(shù)據(jù)類型,SQL Server 利用 NVARCHAR 來存儲和處理 JSON 數(shù)據(jù),并通過內(nèi)置的函數(shù)和查詢選項簡化了對 JSON 數(shù)據(jù)的操作。使用 FOR JSON AUTO 和 FOR JSON PATH 等功能,開發(fā)者可以方便地將查詢結(jié)果輸出為 JSON 格式,或自定義輸出結(jié)構(gòu)。SQL Server 還支持對 JSON 數(shù)據(jù)的處理和格式化,如通過 ISJSON、JSON_VALUE、OPENJSON 等函數(shù)輕松解析和操作 JSON 數(shù)據(jù)。這些功能讓 SQL Server 成為處理現(xiàn)代數(shù)據(jù)交換格式的強大工具,同時保持了與現(xiàn)有技術(shù)的兼容性。


參考文章
https://learn.microsoft.com/zh-cn/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver16

https://www.cnblogs.com/weihanli/p/sqlserver-json-support.html

https://blog.miniasp.com/post/2023/01/07/Using-JSON-in-SQL-Server


該文章在 2024/10/2 8:59:21 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved