我的数据:
["2016-04-21", "2016-04-22"]
我的查询
select * from applications WHERE JSON_CONTAINS("date", "$");
我的json数据没有密钥,在这里说明如何使用JSON_CONTAINS
?
答案 0 :(得分:3)
如果您想在JSON数据中找到日期值,则可以使用JSON_SEARCH
来代替:
SELECT *
FROM applications
WHERE NOT JSON_SEARCH(col_json, 'one', '2016-04-22') IS NULL;
为什么不能使用JSON_CONTAINS
?
要在JSON数据中搜索特定日期值,您需要使用通配符(*
)。 JSON_CONTAINS
路径参数上不允许这样做:
如果目标或候选对象不是有效的JSON文档,或者path参数不是有效的路径表达式或包含*或**通配符,则会发生错误。