我需要使用 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 !
这是小提琴中的一个例子:https ://www.db-fiddle.com/f/7yPvfa2UZsZLdYSxdsnecx/0