如何在同一列的两个JSON数组中搜索值“ ABCD”?这是方括号内的多个JSON数据 在下面添加了示例JSON数据:
[{"id": "ABCD", "TEST1": "2002", "value": "test value1", "comment": ""}, {"id": "ABCD", "TEST2": "2003", "value": "test value2", "comment": ""}]
答案 0 :(得分:3)
您可以使用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"] |
答案 1 :(得分:1)