【发布时间】:2022-08-16 21:45:51
【问题描述】:
我想在 json 对象中搜索特定值,但不能使用 json_textcontains。
例如,我们在列中有这个 json_object:
{
\"key1\" : \"test\",
\"key2\" : \"test2\",
\"key3\" : \"35\",
\"key4\" : \"3.4\",
\"key5\" : \"35\"
}
现在我有一个搜索词,例如35 并且想要获取所有包含该术语的键/值对。
-> \"key3\" : \"35\"
-> \"key5\" : \"35\"
什么是 sql 语句,相当于这个 json_textcontains 语句:
select * from T t where JSON_TEXTCONTAINS(t.jsoncolumn, \'$\', \'35\')
编辑: 也许澄清一下,我不想要 json 输出,我只想要一个表的所有行,其中我的搜索词在存储在所述表的列中的 json 字符串中找到。
-
但是...
json_textcontains不会产生任何输出,它只是一个条件。它不会从 JSON 数据中提取任何信息。 -
是的,问题是,是否还有另一个 sql 条件,可以在 json 数据中搜索。上面的 sql 语句给了我想要的行,但我不能在我的查询中使用 json_textcontains。因此,在 where 子句中等效替换了 json_textcontains。