考虑这样一个表:
+----------+
| strfield |
+----------+
| abcde |
| fgHIJ |
| KLmno |
+----------+
我想写一个这样的查询:
select * from datatbl where strfield rlike '[a-z]*';
与非SQL正则表达式一样,我希望返回w/
datatbl
行,但不返回w/大写的行。我似乎找不到一个简单的方法来做这件事。我错过了什么蠢事吗?谢谢,
乔
最佳答案
mysql regexp/rlike很糟糕-您需要将数据转换为二进制,以便进行区分大小写的搜索:
SELECT *
FROM datatbl
WHERE CAST(strfield AS BINARY) rlike '[a-z]*';
你会发现这是在comments for the REGEXP/RLIKE documentation中提出的。