0

我正在尝试检查一维数组字符串是否像:

[1,2,3,4,5]

包含某个值,例如 4。

我知道使用多维数组我可以执行以下操作:

JSON_VALUE(columnName, '$.key')

但对于我的生活,我不知道如何搜索无密钥的 json 字符串。

我试过了:

WHERE JSON_VALUE(columnName, '$') = 1
WHERE JSON_VALUE(columnName, '$.') = 1
WHERE 1 IN JSON_VALUE(columnName, '$')
WHERE 1 IN JSON_VALUE(columnName, '$.')

没有任何效果。

4

1 回答 1

0

假设字符串'[1,2,3,4,5]'在表的列中,您可以使用EXISTSwith OPENJSON

SELECT V.YourColumn
FROM (VALUES('[1,2,3,4,5]'),('[7,8,9]'))V(YourColumn)
WHERE EXISTS (SELECT 1
              FROM OPENJSON(V.YourColumn) 
                   WITH (Value int '$') OJ
              WHERE Value = 4);
于 2021-04-09T15:57:35.123 回答