gpt4 book ai didi

mysql - 如何在 MySQL 中搜索 JSON 数组?

转载 作者:行者123 更新时间:2023-11-29 15:42:24 25 4
gpt4 key购买 nike

假设我在某个 MySQL 表中有一个名为 data 的 JSON 列,并且该列是一个数组。因此,例如,数据可能包含:

[1,2,3,4,5]

现在我想选择具有数据列且其数组元素之一大于 2 的所有行。这可能吗?

我尝试了以下操作,但无论数组中的值如何,它似乎总是true:

SELECT * from my_table
WHERE JSON_EXTRACT(data, '$[*]') > 2;

最佳答案

您可以按如下方式搜索整数数组:

  JSON_CONTAINS('[1,2,3,4,5]','7','$') Returns: 0
JSON_CONTAINS('[1,2,3,4,5]','1','$') Returns: 1

您可以按如下方式搜索字符串数组:

  JSON_CONTAINS('["a","2","c","4","x"]','"x"','$') Returns: 1
JSON_CONTAINS('["1","2","3","4","5"]','"7"','$') Returns: 0

注意:JSON_CONTAINS 返回 1 或 0

根据您的情况,您可以使用如下查询进行搜索:

SELECT * from my_table
WHERE JSON_CONTAINS(data, '2', '$');

关于mysql - 如何在 MySQL 中搜索 JSON 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57467007/

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