我想检查一个字符串是否只由大写字母组成。我知道rlike/regexp在MySQL中不区分大小写。因此,我尝试使用:upper:
character类:
SELECT 'z' REGEXP '^[[:upper:]]+$';
这是真的,虽然z是小写的,…为什么?
最佳答案
regexp不区分大小写,除非与二进制字符串一起使用。
http://dev.mysql.com/doc/refman/5.7/en/regexp.html
因此,记住这一点,就做如下的事情:
SELECT * FROM `users` WHERE `email` REGEXP BINARY '[A-Z]';
使用上面的示例,您将得到包含一个或多个大写字母的电子邮件列表。