gpt4 book ai didi

sql - 如何搜索包含JSON数组的SQL列

转载 作者:行者123 更新时间:2023-12-04 01:31:40 25 4
gpt4 key购买 nike

我有一个具有单个JSON数组的SQL列:

{"names":["Joe","Fred","Sue"]}


给定一个搜索字符串,如何使用SQL在names数组中搜索匹配项?我正在使用SQL 2016,并查看了JSON_QUERY,但不知道如何在JSON数组上搜索匹配项。像下面这样的东西会很好。

SELECT *
FROM table
WHERE JSON_QUERY(column, '$.names') = 'Joe'

最佳答案

为了在JSON数组中进行搜索,需要使用OPENJSON

DECLARE @table TABLE (Col NVARCHAR(MAX))
INSERT INTO @table VALUES ('{"names":["Joe","Fred","Sue"]}')

SELECT * FROM @table
WHERE 'Joe' IN ( SELECT value FROM OPENJSON(Col,'$.names'))


或者,可以将其与 CROSS APPLY一起使用。

SELECT * FROM 
@table
CROSS APPLY OPENJSON(Col,'$.names')
WHERE value ='Joe'

关于sql - 如何搜索包含JSON数组的SQL列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com