在我们的 SQL Server 表中,我们有一个存储有字符串数组的 json 对象。我想以编程方式将该字符串拆分为几列。但是,我似乎无法让它工作,或者即使有可能。
这是在 WITH 子句中创建多个列的可能性,还是在 select 语句中执行此操作更明智?
我删减了一些代码,以对给出的内容给出一个简单的想法。
JSON 示例类似于 { "arr": ["str1 - str2"] }
SELECT b.* FROM [table] a
OUTER APPLY
OPENJSON(a.value, '$.arr')
WITH
(
strSplit1 VARCHAR(100) SPLIT('$.arr', '-',1),
strSplit2 VARCHAR(100) SPLIT('$.arr', '-',2)
) b
Run Code Online (Sandbox Code Playgroud)