mysql - 让几个“通配符”表达式在 MySQL 中工作时遇到一些麻烦
问题描述
我一直在浏览 w3schools 网站,发现它很有帮助,但是有几个问题给我带来了麻烦。
[这是两种语法的表格]
这两种语法似乎都错误地返回“空集”。语法如下。任何建议表示赞赏!
语法 1
select * from Student where Surname like '[!acf]%';
语法 2
select * from Student where Name like '[a-f]%';
解决方案
我不确定 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上的运行示例。
推荐阅读
- php - 从php中的字符串组中获取替代字符串
- r - 我可以使用 R 中的循环自动执行此代码吗?
- python - 正则表达式(re.search)无法检测错误
- c# - foreachasync 和 for 循环与实体记录的区别?
- sql - SQL查询以找出用户在一周中访问的天数
- php - 如何在我的示例 php 代码中添加一个 css 类
- python - Python3:+ 不支持的操作数类型:“float”和“str”
- google-apps-script - 谷歌脚本卡在 getRange
- javascript - jquery .replace() - 如何替换同一行中的多个字符串?
- c++ - 对数组的空间复杂度