一尘不染

MySQL中不区分大小写的REPLACE?

mysql

MySQL在默认的排序规则下运行几乎所有的字符串比较REPLACE。我有不区分大小写的排序规则,需要运行不区分大小写的REPLACE。有什么方法可以强制REPLACE使用当前排序规则,而不是始终执行区分大小写的比较?我愿意升级MySQL(当前运行5.1)以获取更多功能…

mysql> charset utf8 collation utf8_unicode_ci;
Charset changed

mysql> select 'abc' like '%B%';
+------------------+
| 'abc' like '%B%' |
+------------------+
|                1 |
+------------------+

mysql> select replace('aAbBcC', 'a', 'f');
+-----------------------------+
| replace('aAbBcC', 'a', 'f') |
+-----------------------------+
| fAbBcC                      |   <--- *NOT* 'ffbBcC'
+-----------------------------+

阅读 561

收藏
2020-05-17

共1个答案

一尘不染

如果replace(lower())不起作用,则需要创建另一个函数。

2020-05-17