我正在嘗試從 SQL Server Studio 上的美國人口普查中獲取資料以進行分析(埠級別的貿易資料)。我現在已經從他們的 API 下載了一個 JSON 檔案(理想情況下,我稍后會從 SQL 作業室進行呼叫)。然后我用 OPEN ROW SET 和 OPEN JSON 讀取檔案,我可以讀取檔案,但是當我添加 with 子句來獲取列時,我只得到 NULL 值。
Declare @JSON varchar(max)
SELECT @JSON=BulkColumn
FROM OPENROWSET (BULK 'C:\Users\amartinez\US.json', SINGLE_CLOB) j
SELECT * FROM OPENJSON (@JSON)
WITH (
[CTY_CODE] varchar(max) '$.CTY_CODE',
[CTY_NAME] varchar(max) '$.CTY_NAME',
[I_ENDUSE] varchar(max) '$.I_ENDUSE',
[I_ENDUSE_LDESC] varchar(max) '$.I_ENDUSE_LDESC',
[GEN_VAL_MO] int '$.GEN_VAL_MO',
[CON_VAL_MO] int '$.CON_VAL_MO',
[time] varchar(max) '$.time'
) as tradeF;
輸入檔案
uj5u.com熱心網友回復:
請嘗試以下解決方案。
您的 JSON 是一個 JSON 陣列,因此它需要稍微不同的語法。
SQL
DECLARE @JSON VARCHAR(MAX);
SELECT @JSON=BulkColumn
FROM OPENROWSET (BULK 'C:\Users\amartinez\US.json', SINGLE_CLOB) j;
SELECT tradeF.*
FROM OPENJSON (@JSON)
WITH (
[CTY_CODE] varchar(max) '$[0]',
[CTY_NAME] varchar(max) '$[1]',
[I_ENDUSE] varchar(max) '$[2]',
[I_ENDUSE_LDESC] varchar(max) '$[3]',
[GEN_VAL_MO] varchar(max) '$[4]',
[CON_VAL_MO] varchar(max) '$[5]',
[time] varchar(max) '$[6]'
) as tradeF;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/456575.html
上一篇:按時間最近的記錄分組選擇
