我们正在实现一个搜索应用程序
我们通过以下 sql 查询实现了精确的单词搜索
SELECT *
FROM jreviews_content
WHERE jr_produits REGEXP '[[:<:]]ryan[[:>:]]'
现在效果很好,我们想稍微调整一下词搜索。
set @word='sryan';
SELECT *
FROM (select 'ryan' as a)a
WHERE a like @word
or a like right(@word,length(@word)-1)
or a like left(@word,length(@word)-1)
->'瑞安'
set @word='ryan';
SELECT *
FROM (select 'ryan' as a union all select 'bryan' union all select 'yan' union all select 'yankee')a
WHERE a like @word
or a like right(@word,length(@word)-1)
or a like left(@word,length(@word)-1)
-> '瑞恩','颜'
set @word='ryan';
SELECT *
FROM (select 'ryan' as a union all select 'bryan' union all select 'yan' union all select 'yankee')a
where
a REGEXP concat('[[:<:]]',@word,'[[:>:]]')
or
a REGEXP concat('[[:<:]]',left(@word,length(@word)-1),'[[:>:]]')
or
a REGEXP concat('[[:<:]]',right(@word,length(@word)-1),'[[:>:]]')