考虑这样一个表:

+----------+
| 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中提出的。

10-06 01:07