像regexp一样的Mysql

时间:2014-11-19 12:14:23

标签: mysql regex

您好,这里有查询:

SELECT * 
FROM  `person` 
WHERE memo LIKE  'John Smith %'
OR memo LIKE  '% John Smith %'
OR memo LIKE  '% John % Smith %'
OR memo LIKE  '%John%Smith%'
ORDER BY CASE 
WHEN memo LIKE  'John Smith %'
THEN 1 
WHEN memo LIKE  '% John Smith %'
THEN 2 
WHEN memo LIKE  '% John % Smith %'
THEN 3
WHEN memo LIKE  '%John%Smith%'
THEN 4
ELSE 5
END 

如何转换为不使用OR运算符

可以是regexps吗?

1 个答案:

答案 0 :(得分:0)

您可以将where更改为:

WHERE memo LIKE '%John%Smith%'

其他条件多余。

对于order by,可能没有任何方法可以简化它。