使用对象数组 MySQL 查询 JSON 列



我的列中有以下json数组:

[  
{  
"day": 1,
"requests": 23
},
{  
"day": 2,
"requests": 5
},
{  
"day": 2,
"requests": 9
}
]

我想要有第1天的行.我已经尝试过用

SELECT * FROM api WHERE usages->'$[*].day' = JSON_ARRAY(1)

但它不返回任何结果。

select usages->'$[*].day' from api显示它是 JSON 数组[1,2,2]

where usages->'$[*].day' = JSON_ARRAY(1)试图将[1,2,2][1]相匹配,但事实并非如此。

相反,请使用 JSON_CONTAINS 在数组中查找值。

where json_contains(usages->'$[*].day', "1");

最新更新