【问题标题】:Having some trouble getting a couple of "wildcard" expressions to work in MySQL让几个“通配符”表达式在 MySQL 中工作时遇到一些麻烦
【发布时间】:2021-07-06 23:03:59
【问题描述】:

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

[这里是两种语法的表格]

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

语法 1

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

语法 2

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

【问题讨论】:

  • 您没有使用与 MySQL 兼容的类似模式。
  • 这些模式是非标准扩展,仅在 SQL Server 中可用,在 MySQL 中不可用。
  • 谢谢!你知道 MySQL 中的等价物是什么吗?

标签: mysql sql wildcard


【解决方案1】:

我不确定 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 的运行示例。

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    相关资源
    最近更新 更多