首页 > 解决方案 > 让几个“通配符”表达式在 MySQL 中工作时遇到一些麻烦

问题描述

我一直在浏览 w3schools 网站,发现它很有帮助,但是有几个问题给我带来了麻烦。

[这是两种语法的表格]

1

这两种语法似乎都错误地返回“空集”。语法如下。任何建议表示赞赏!

语法 1

select * from Student where Surname like '[!acf]%';

语法 2

select * from Student where Name like '[a-f]%';

标签: mysqlsqlwildcard

解决方案


我不确定 SQL Server 模式的含义。

如果第一个查询搜索姓氏不以“a”、“c”或“f”开头的学生,那么在 MySQL 中,您可以使用标准正则表达式,如下所示:

select * from student where surname regexp '[^acf].*';

如果第二个查询搜索姓名确实以“a”和“f”(均为小写)之间的任何字母开头的学生,则正则表达式可以是:

select * from student where name regexp '[a-f].*';

请参阅DB Fiddle上的运行示例。


推荐阅读