mysql - 使用 MySQL 获取姓氏范围

标签 mysql sql regex

我需要撤回客户数据库中具有给定姓氏范围的所有帐户。例如 AAA-FAA,它应该涵盖 FAA 之前的所有记录,例如 EZZ、EYY、EXX 等。现在我所拥有的显然不起作用。我有

where name REGEXP '^[A-F][A-A][A-A]$'

有什么想法可以轻松地使用 MySQL 来完成此操作吗?正则表达式似乎是最好的选择,但我无法理解它。谢谢!

最佳答案

嗯,您可以使用不等式比较:

where name >= 'A' and name < 'F'

下一个范围将类似于:

where name >= 'F' and name < 'K'

而且,这样做的一个好处是表达式可以使用索引(如果有的话)。但是,这可能会获取大量数据,因此非聚集索引在这里可能没有太大帮助。

关于mysql - 使用 MySQL 获取姓氏范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31619893/

相关文章:

PHP While 循环不返回一行数据

mysql - SQL Server聚合函数查询

java - 正则表达式用空格替换部分字符串

Python 正则表达式 - 查找两个分隔符之间的所有子字符串

javascript - 如何在extjs中使用href.replace

php - 如何检索两个没有适当关系的表之间的数据

mysql - Slick 中的线程安全

MySQL限制连接表

php - SQL语法错误

java - 在 android 中的 SQLite 原始查询中组合 AND 和 OR