【发布时间】:2019-12-23 08:41:47
【问题描述】:
我有一个这样的表,我想在字段类型 json(array) 中获取值,可以吗?结果 attrs->>'$.target' == 1000 !
id | name | attrs |
1 | me | {"target":["1000", "2000"]} |
【问题讨论】:
我有一个这样的表,我想在字段类型 json(array) 中获取值,可以吗?结果 attrs->>'$.target' == 1000 !
id | name | attrs |
1 | me | {"target":["1000", "2000"]} |
【问题讨论】:
您可以为JSON_EXTRACT 方法设置带有数组索引的路径:
SELECT JSON_EXTRACT(attrs, "$.target[0]") as test FROM tableName
where JSON_EXTRACT(attrs, "$.target[0]") = '1000'
或更灵活的解决方案:
SELECT * FROM tableName
where JSON_EXTRACT(attrs, JSON_UNQUOTE(JSON_SEARCH(attrs,'all','1000'))) = '1000'
【讨论】: