我正在使用 MySQL 并运行 follow 查询来获取所有以 A、B 或 C 开头的列标题。但是我的以下查询仍然可以匹配标题,例如 Test。如果有人可以提示哪里出了问题,那就太好了。
SELECT title FROM customer where title REGEXP '[A-C].*'
提前致谢, 林
最佳答案
您需要使用字符串开始 anchor ^
并使用 BINARY
with REGEXP
启用大小写匹配:
SELECT title FROM customer where title REGEXP BINARY '^[A-C]'
REGEXP
is not case sensitive, except when used with binary strings.
请注意,REGEXP
不需要完整的字符串匹配,因此,您可以安全地从您的模式中删除 .*
。
关于mysql - MySQL 上针对 REGEXP 匹配的奇怪 SQL 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197547/