【发布时间】:2017-12-03 06:02:15
【问题描述】:
我有一个这样的对象的 json 列表
[{
"something": "bla",
"id": 2
}, {
"something": "yes",
"id": 1
}]
我的id 字段始终是一个数值。但是当我尝试查找id = 2 时,MySQL 返回NULL
select
json_search(
json_extract(
'[{"something": "bla" ,"id": 2}, {"something": "yes","id": 1}]',
"$[*].id"
),
'one',
2
) as json_search;
json_search |
------------|
|
当我在我的 json id 对象中使用字符串作为值而不是数值时,我得到了索引为 0 的结果。
select
json_search(
json_extract(
'[{"something": "bla" ,"id": "2"}, {"something": "yes","id": 1}]',
"$[*].id"
),
'one',
"2"
) as json_search;
json_search |
------------|
"$[0]" |
我使用的是 MySQL 5.7.17
@@version |
-----------|
5.7.17-log |
MySQL 中没有提供 json 数组中的数字搜索吗?
【问题讨论】: