我在 SQL Server 2016 存储过程中使用以下代码,我想将 Journal ISSN 值拆分为 2 个不同的字段。
DECLARE @json nVARCHAR(MAX) =
'[{"Journal ISSN" : "15221059, 15309932"},
{"Journal ISSN" : "23660058, 2366004X"}]'
INSERT INTO A_ADMIN_IMPACT_FACTORS_2020 ([Journal ISSN], [ISSN FirstEight], [ISSN SecondEight_if Comma])
SELECT [Journal ISSN]
FROM OPENJSON(@json)
WITH ([Journal ISSN] nvarchar(50))
我试图添加
SUBSTRING ([Journal ISSN],1,8) nvarchar(50)
在不同的地方,但我确信语法是错误的。
有人可以指出我正确的方向,以便我最终得到三列吗?
- 一个具有完整值
- 如果没有逗号,则第一个部分在逗号或整个值上,并且
- 一个带有逗号后剩余的内容
当我输入这个时,我可能会使用计算列,但我仍然想知道如何在存储过程中做到这一点。