我有一个包含 2 列的数据库
A B
-- --
X 1995
Y 2005
C 1962
D 2003
我正在尝试创建一个 SQL 语句,它将采用逗号分隔值的字符串并在 B 中返回一个 json 值列表,其中字符串中的任何值都在 A 中
所以如果逗号分隔的字符串是'X,C'
json 列表[1995,1962]
我一直在使用 json path 来尝试这个,但我无法完全按照我想要的方式获得它,而且我已经旋转了太久的轮子
这是我试过的:
Select mt.B as json_list_b_values
From [dbo].[myTable] mt
Where mt.A in (Select value From String_Split('X,C', ',')) for json path
这是输出:
[ {"json_list_b_values":"1995"}, {"json_list_b_values":"1962"} ]
如果你能够使用
FOR XML PATH('')
如果没有,你可以做很多
REPLACE()
事两者的结果: