导入到SQL Server表中的多个Json对象
我正在尝试将货币数据导入表中 通过从OPENJSON(@JSON,$.currency.0“)中指定导入到SQL Server表中的多个Json对象,json,sql-server,Json,Sql Server,我正在尝试将货币数据导入表中 通过从OPENJSON(@JSON,$.currency.0“)中指定,我可以导入其中一个数据对象,但是我正在努力找到一个解决方案,帮助我将所有5种货币收集到自己的列中 我想将每种货币的唯一JSON对象头用作数据项(DefaultCurrencyCode) 这是JSON数据: "currency": { "0": { "ISOCode": "USD", &
,我可以导入其中一个数据对象,但是我正在努力找到一个解决方案,帮助我将所有5种货币收集到自己的列中
我想将每种货币的唯一JSON对象头用作数据项(DefaultCurrencyCode)
这是JSON数据:
"currency": {
"0": {
"ISOCode": "USD",
"name": "US Dollar",
"symbol": "$",
},
"1": {
"ISOCode": "IEP",
"name": "Irish Pound or Punt",
"symbol": "£",
},
"2": {
"ISOCode": "BEF",
"name": "Belgian Franc",
"symbol": "₣",
},
"3": {
"ISOCode": "ZAR",
"name": "South African Rand",
"symbol": "R",
},
"4": {
"ISOCode": "JPY",
"name": "Japanese Yen",
"symbol": "¥",
}
}
这是我的SQL Server代码:
DECLARE @JSON VARCHAR(MAX)
SELECT @JSON = BulkColumn
FROM OPENROWSET
(BULK 'C:\dev\src\Client\config\common\config.json', SINGLE_CLOB)
AS j
SELECT ISOCode, name, symbol ,DefaultCurrencyCode
INTO TestTable2
FROM OPENJSON (@JSON, '$.currency."0"')
WITH (
ISOCode VARCHAR(10),
name VARCHAR(50),
symbol VARCHAR(50),
DefaultCurrencyCode INT)
Select * From TestTable2
这是我当前的输出,但是我正在尝试获取所有输出。
您需要一个额外的带有显式模式的OPENJSON
调用来从嵌套的JSON
对象获取数据
JSON:
声明:
SELECT j2.*
FROM OPENJSON(@json, '$.currency') j1
CROSS APPLY OPENJSON(j1.[value]) WITH (
ISOCode NVARCHAR(10),
name NVARCHAR(50),
symbol NVARCHAR(50),
DefaultCurrencyCode INT
) j2
输出:
-------------------------------------------------------
ISOCode name symbol DefaultCurrencyCode
-------------------------------------------------------
USD US Dollar $
IEP Irish Pound or Punt £
BEF Belgian Franc ₣
ZAR South African Rand R
JPY Japanese Yen ¥
您需要一个额外的带有显式模式的OPENJSON
调用来从嵌套的JSON
对象获取数据
JSON:
声明:
SELECT j2.*
FROM OPENJSON(@json, '$.currency') j1
CROSS APPLY OPENJSON(j1.[value]) WITH (
ISOCode NVARCHAR(10),
name NVARCHAR(50),
symbol NVARCHAR(50),
DefaultCurrencyCode INT
) j2
输出:
-------------------------------------------------------
ISOCode name symbol DefaultCurrencyCode
-------------------------------------------------------
USD US Dollar $
IEP Irish Pound or Punt £
BEF Belgian Franc ₣
ZAR South African Rand R
JPY Japanese Yen ¥
看看这是否有帮助。看起来您需要删除打开的,'$.currency.0'
,并使用设置部分中的列格式。请查看这是否有帮助。看起来您需要删除open中的,“$.currency.”0“
,并使用部分格式化中的列。