MySQL在默认的排序规则下运行几乎所有的字符串比较REPLACE。我有不区分大小写的排序规则,需要运行不区分大小写的REPLACE。有什么方法可以强制REPLACE使用当前排序规则,而不是始终执行区分大小写的比较?我愿意升级MySQL(当前运行5.1)以获取更多功能…
REPLACE
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' +-----------------------------+
如果replace(lower())不起作用,则需要创建另一个函数。
replace(lower())