3
我有一系列的OPENJSON語句,並在我的存儲過程的最後一步,我解析了倒數第二個表中最後一列的一些JSON。最後一列幾乎總是空的,但它是從JSON對象填充的,所以偶爾會有一些信息。我想表1轉換成FinalTable如下所示:OPENJSON交叉應用NULL值(TSQL)
Table 1
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Adjustments
123 592 593 data rand fake data []
345 035 021 ll need food now [ { "id": 999, "adj1": 123 }]
FinalTable
Col1 Col2 Col3 Col4 Col5 Col6 Col7 AdjID Adj1 Adj2 Adj3
123 592 593 data rand fake data NULL NULL NULL NULL
345 035 021 ll need food now 999 123 NULL NULL
這裏是我的代碼:
INSERT into FinalTable ([Col1], [Col2], [Col3], [Col4], [Col5], [Col6], [Col7], [AdjID], [Adj1], [Adj2], [Adj3]
)
SELECT [Col1], [Col2], [Col3], [Col4], [Col5], [Col6], [Col7], [AdjID], [Adj1], [Adj2], [Adj3]
FROM StageStep2 cross apply
OPENJSON (Adjustments)
WITH (
AdjID nvarchar(200) '$.id',
[Adj1] nvarchar(200) '$.adj1',
[Adj2] nvarchar(200) '$.adj2',
[Adj3] nvarchar(200) '$.adj3')
在StageStep2,[調整]幾乎總是包含[]因爲在沒有數據該對象的原始JSON腳本。
這樣看來,因爲我在最後一列沒有數據,OPENJSON不解析任何事情,總是返回「0行受到影響」基本上它只是說:「有羅傢伙這裏沒有數據,所以我不解析shib「
如果列爲空,我該如何使它仍然包含NULL值?