从数据库中选择以小写字母开头的所有字符串

fro*_*sty 13 php mysql sql

我正在尝试选择我的数据库中的所有字符串,该字符串以带有regexp的小写字母开头,但由于某种原因,它选择了所有以大写字母开头的字符串.我究竟做错了什么?

SELECT * 
FROM  `allData` 
WHERE response REGEXP  '^[a-z]'
LIMIT 0 , 30
Run Code Online (Sandbox Code Playgroud)

slu*_*ion 11

MySQL REGEXP手册:

REGEXP不区分大小写,除非与二进制字符串一起使用.

因此,在使用二进制字符串时,您可能会有一些运气:

WHERE response REGEXP BINARY '^[a-z]'
Run Code Online (Sandbox Code Playgroud)

演示的合理愚蠢小提琴:http://sqlfiddle.com/#!9/ 7eade/3

编辑:正如Ray在评论中所说,你应该使用它[[:lower:]]来代替所有的校对,例如

WHERE response REGEXP BINARY '^[[:lower:]]'
Run Code Online (Sandbox Code Playgroud)