mysql - 区分大小写

标签 mysql regex

考虑像这样的表datatbl:

+----------+
| strfield |
+----------+
|    abcde |
|    fgHIJ |
|    KLmno |
+----------+

我想写这样的查询:

select * from datatbl where strfield rlike '[a-z]*';

与在非 SQL 正则表达式中一样,我想返回带有 abcde 的小写行,而不是带有大写字母的行。我似乎找不到一种简单的方法来做到这一点。我错过了什么愚蠢的东西吗?

最佳答案

MySQL REGEXP/RLIKE 对此很糟糕 - 您需要将数据转换为 as BINARY 以进行区分大小写的搜索:

SELECT * 
  FROM datatbl 
 WHERE CAST(strfield  AS BINARY) rlike '[a-z]*';

您会在 comments for the REGEXP/RLIKE documentation 中找到它.

关于mysql - 区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43675782/

相关文章:

mysql - 这些表是如何关联的?

python - 如何获取多个动态文本文件的内容并将其存储在一个文本文件和mysql中 - Python 2.7?

python - 如何在 MySQL 数据库中存储动态 python 字典?

mysql - 当值存储在另一个 ROW 中时使用 IN 的 SQL

python - 从字符串中提取多个子字符串

php - RedBeanPHP 中具有两列主键的表

Javascript 正则表达式在每 n 个单词后添加 <br> - 无 CSS

javascript - 使用正则表达式替换javascript中的情绪字符

php - 正则表达式在第一个换行符处拆分字符串

javascript - 如何限制 ext js 文本字段中的特定字符?