將 JSON 陣列轉換為行集
OPENJSON 函式解析 JSON 物件的集合,並將 JSON 文字中的值作為行集返回。
declare @json nvarchar(4000) = N'[
  {"Number":"SO43659","Date":"2011-05-31T00:00:00","Customer": "MSFT","Price":59.99,"Quantity":1},
  {"Number":"SO43661","Date":"2011-06-01T00:00:00","Customer":"Nokia","Price":24.99,"Quantity":3}
]'
SELECT    * 
FROM OPENJSON (@json)
    WITH (
          Number   varchar(200),
          Date     datetime,
          Customer varchar(200),
          Quantity int
  )
在 WITH 子句中指定了 OPENJSON 函式的返回模式。JSON 物件中的鍵由列名提取。如果未在 WITH 子句中指定 JSON 中的某個鍵(例如,此示例中為 Price),則將忽略它。值會自動轉換為指定的型別。
| 數 | 日期 | 顧客 | 數量 | 
|---|---|---|---|
| SO43659 | 2011-05-31T00:00:00 | MSFT | 1 | 
| SO43661 | 2011-06-01T00:00:00 | 諾基亞 | 3 |