mysql中字符串的括号匹配问题
今天在练习mysql语句时,发现下列语句查询不到结果
(该语句本来目的是为了查询以’李’开头并且倒数第二个字 为’华’或者’丽’的学生的信息,但是查询后显示集合为空)
select * from student where Sname like '李%[华丽]_';
这让我百思不得解,后来通过查询资料发现,mysql中实现模糊查询有两种方式,一种是LIKE模式,另一种是REGEXP模式,而mysql中的LIKE模式并不支持括号匹配,比如[acd]表示acd中任意一个元素。而REGEXP模式则支持正则模式匹配,所以我将语句改成如下结果就正确了。
select * from student where Sname regexp '^李.*[华丽].';