MySQL5.7在json列中搜索值

gmxoilav  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(460)

如何在一列中搜索两个json数组中的值“d”?下面添加了方括号内的多个json数据示例json数据:

[{"id": "ABCD", "TEST1": "2002", "value": "test value1", "comment": ""}, {"id": "ABCD", "TEST2": "2003", "value": "test value2", "comment": ""}]
xxhby3vn

xxhby3vn1#

你可以用 Json_Search() 功能。在这个函数中,我们可以将第二个参数设置为 one 或者 all . 我们会把它当作 all 搜索包含给定值的所有键。

SELECT JSON_SEARCH(json_column_name, 'all', 'ABCD');

演示-模式(mysql v5.7)

SET @json_column_name = '[{"id": "ABCD", "TEST1": "2002", "value": "test value1", "comment": ""}, {"id": "ABCD", "TEST2": "2003", "value": "test value2", "comment": ""}]';

SELECT JSON_SEARCH(@json_column_name, 'all', 'ABCD') AS result;

结果

| result                 |
| ---------------------- |
| ["$[0].id", "$[1].id"] |

db fiddle视图

xiozqbni

xiozqbni2#

您可以阅读mysql文档

mysql> SELECT JSON_SEARCH(@j, 'all', 'abc');

在这里你可以搜索任何你想要的。
文件:

相关问题