在 SQL Server 2016 中协助 JSON 功能
Assistance with JSON functions in SQL Server 2016
我有一个 SQL 服务器 table,格式如下:
ID int
JobParameters nvarchar(max)
其中 JobParameters 列包含例如:
{
"Parameters": [
{
"SID": 35,
"RPYID": 10
}, {
"SID": 36,
"RPYID": 10
}, {
"SID": 39,
"RPYID": 10
}, {
"SID": 46,
"RPYID": 10
}, {
"SID": 58,
"RPYID": 10
}, {
"SID": 65,
"RPYID": 10
}, {
"SID": 71,
"RPYID": 10
}, {
"SID": 72,
"RPYID": 10
}, {
"SID": 73,
"RPYID": 10
}, {
"SID": 74,
"RPYID": 10
}, {
"SID": 78,
"RPYID": 10
}, {
"SID": 80,
"RPYID": 10
}, {
"SID": 81,
"RPYID": 10
}, {
"SID": 82,
"RPYID": 10
}, {
"SID": 88,
"RPYID": 10
}, {
"SID": 90,
"RPYID": 10
}, {
"SID": 96,
"RPYID": 10
}, {
"SID": 407,
"RPYID": 10
}, {
"SID": 408,
"RPYID": 10
}
]
}
我需要将 JobParameters (JSON) 中的 SID 和 RPYID 插入另一个 table。
所以基本上需要有效地将存储在一个 table 中的 JSON 值转换为另一个 table 中的两列。
像这样使用OPENJSON
:
SELECT ID, j.SID, j.RPYID
FROM t
CROSS APPLY OPENJSON(JobParameters, '$.Parameters')
WITH (
SID int '$.SID',
RPYID int '$.RPYID'
) AS j
我有一个 SQL 服务器 table,格式如下:
ID int
JobParameters nvarchar(max)
其中 JobParameters 列包含例如:
{
"Parameters": [
{
"SID": 35,
"RPYID": 10
}, {
"SID": 36,
"RPYID": 10
}, {
"SID": 39,
"RPYID": 10
}, {
"SID": 46,
"RPYID": 10
}, {
"SID": 58,
"RPYID": 10
}, {
"SID": 65,
"RPYID": 10
}, {
"SID": 71,
"RPYID": 10
}, {
"SID": 72,
"RPYID": 10
}, {
"SID": 73,
"RPYID": 10
}, {
"SID": 74,
"RPYID": 10
}, {
"SID": 78,
"RPYID": 10
}, {
"SID": 80,
"RPYID": 10
}, {
"SID": 81,
"RPYID": 10
}, {
"SID": 82,
"RPYID": 10
}, {
"SID": 88,
"RPYID": 10
}, {
"SID": 90,
"RPYID": 10
}, {
"SID": 96,
"RPYID": 10
}, {
"SID": 407,
"RPYID": 10
}, {
"SID": 408,
"RPYID": 10
}
]
}
我需要将 JobParameters (JSON) 中的 SID 和 RPYID 插入另一个 table。
所以基本上需要有效地将存储在一个 table 中的 JSON 值转换为另一个 table 中的两列。
像这样使用OPENJSON
:
SELECT ID, j.SID, j.RPYID
FROM t
CROSS APPLY OPENJSON(JobParameters, '$.Parameters')
WITH (
SID int '$.SID',
RPYID int '$.RPYID'
) AS j