Я использую следующий код в хранимой процедуре SQL Server 2016 и хотел бы разделить значение 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)
в разных местах, но я уверен, что синтаксис неправильный.
Может ли кто-нибудь указать мне правильное направление, чтобы у меня получилось три столбца?
- Один с полным значением
- один с первой частью до запятой или все значение, если запятой нет, и
- один с тем, что остается после запятой
Когда я набирал это, выяснилось, что я мог бы использовать вычисляемый столбец, но я все равно хотел бы знать, как я могу это сделать это в хранимой процедуре.