繁体   English   中英

json列中的MySQL 5.7搜索值

[英]Mysql 5.7 search values inside a json column

如何在同一列的两个JSON数组中搜索值“ ABCD”? 这是方括号内的多个JSON数据,下面添加了示例JSON数据:

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

您可以使用Json_Search()函数。 在此函数中,我们可以将第二个参数设置为oneall 我们将其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"] |

在数据库小提琴上查看

您可以遵循mysql文档

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

您可以在这里搜索任何内容。

文献:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM