You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中使用json_contains查询JSON数组无结果,如何查找数组内的值?

MySQL JSON数组值匹配问题解决

你的SQL未返回结果的核心原因是json_contains参数类型不匹配:数组内的元素是字符串类型的"1",但你传入的匹配值是数字格式的'1',JSON对类型区分严格,导致匹配失败。

修改后的正确SQL有两种写法:

方法1:直接传入JSON格式的字符串值

create table tbl (id int, home json);

insert into tbl values 
(1, '[
    "1",
    "2",
    "3"
]');

select * 
from tbl
where json_contains(home, '"1"');

方法2:用JSON_QUOTE函数自动处理引号

select * 
from tbl
where json_contains(home, json_quote('1'));

两种方式都能正确匹配数组内的字符串"1",返回目标数据行。

内容的提问来源于stack exchange,提问作者Taras PHP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 09:15:13