SQL2016開始支援JSON,你可以輕鬆把資料轉換為JSON格式,也可把資料匯出JSON格式。
早期SQL沒支援JSON我的方法是使用Json.NET,
但你可能不知道有多少人希望SQL SERVER支援JSON(Connect 超過1000票),
面對REST API當道潮流,該需求終於在SQL2016實現,並使用早期類似XML方法來處理,
這篇先來看看如何建立JSON物件。
目前有兩種模式,分別為AUTO and PATH。
FOR JSON AUTO:自動參考所使用的TSQL建立JSON物件,和FOR XML AUTO很類似。
select top 5 OrderID,CustomerID,ExpectedDeliveryDate,DeliveryInstructions,PickingCompletedWhen
from Sales.Orders
for json auto
你覺得結果格式不是很清楚明瞭,我大都使用JSON Viewer來檢視結果,如下圖
FOR JSON PATH:自行定義JSON結構或複雜巢狀結構,一律透過 dot (.)進行處理,和FOR XML PATH很類似。
建立Orders 的JSON物件
select top 5 OrderID
,CustomerID as 'Orders.CustomerID'
,ExpectedDeliveryDate as 'Orders.ExpectedDeliveryDate'
,DeliveryInstructions as 'Orders.DeliveryInstructions'
,PickingCompletedWhen as 'Orders.PickingCompletedWhen'
from Sales.Orders
for json path
建立複雜JSON物件:Root Name=Orders,Order和item屬性
select top 5 OrderID
,CustomerID as 'Order.CustomerID'
,ExpectedDeliveryDate as 'Order.ExpectedDeliveryDate'
,DeliveryInstructions as 'Order.DeliveryInstructions'
,PickingCompletedWhen as 'item.PickingCompletedWhen'
,Comments as 'item.Comments'
from Sales.Orders
for json path,root('Orders')
Enjoy SQL Server 2016
參考