【发布时间】:2019-08-14 08:28:23
【问题描述】:
我需要使用 JSON 数据在 MYSQL 表中搜索数据。使用 JSON_EXTRACT(@json, "$.link") LIKE '%http%' 按预期工作。但是LIKE 'http%' or '%http' 没有!
这是否意味着 JSON_EXTRACT 不能与单个通配符选择匹配一起使用?
示例:
这是我的 JSON
set @json = '{"link": "https://www.google.com"}' ;
select JSON_EXTRACT(@json, "$.link") like '%com';
-- returns 0
select JSON_EXTRACT(@json, "$.link") like 'http%' ;
-- returns 0
select JSON_EXTRACT(@json, "$.link") like '%google%' ;
select JSON_EXTRACT(@json, "$.link") like '%http%' ;
select JSON_EXTRACT(@json, "$.link") like '%com%' ;
-- returns 1 !
下面是 Fiddle 中的一个示例:https://www.db-fiddle.com/f/7yPvfa2UZsZLdYSxdsnecx/0
【问题讨论】:
标签: mysql json mysql-5.7 json-extract