iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 27
0
Data Technology

SQL Server 學習日誌系列 第 27

27. 透過OPENJSON 剖析與建立資料欄位

  • 分享至 

  • twitterImage
  •  

介紹

本篇文章圖片已經毀損,請參考同步發布的原文:https://dog0416.blogspot.com/2018/01/databasesql-server-sql-server-2016_24.html

這篇我們將簡單介紹透過 OPENJSON 函式將 json 內容轉換成資料欄位方式呈現。首先我們先建立以下字串內容,並透過OPENJSON印出結果:

    DECLARE @jsonInfo NVARCHAR(MAX);
    
    SET @jsonInfo = N'{
        "Id":1,
        "Name":"Duran",
        "Salary":1000,
        "Role":[
          "developer",
          "QA"
         ]
    }'
    
    SELECT *
    FROM OPENJSON(@jsonInfo)

您能看見OPENJSON 將 key-value 分離出來,依據不同資料型態進行分類(文字1、數字2...依此類推)。揪下來,我們透過 with 語法,將資料轉換成資料表格式呈現。其中若不想進行轉換,可以透過AS JSON直接儲存JSON資料,但記得其格式一定要為 nvarchar(MAX)。

    SELECT *
    FROM OPENJSON(@jsonInfo)
    WITH (
        Id INT '$.Id',
        Name nvarchar(20) '$.Name',
        Salary INT '$.Salary',
        Role  nvarchar(MAX)  AS JSON 
    )


參考資料

https://docs.microsoft.com/zh-tw/sql/t-sql/functions/openjson-transact-sql


上一篇
26. 透過JSON_MODIFY 函式來更新 JSON 文字中內容值
下一篇
28. Drop if Exists
系列文
SQL Server 學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言