我在MySQL中发现了一个非常奇怪的错误:
无论如何,关于Bug #42404,SUBSTRING_INDEX()似乎有一种非常奇怪的行为。
感谢提前帮助!
[编辑]
在这里,我已经在错误报告中提供了可能的解决方案:
建议修复:
使用:
mysql> SELECT SUBSTRING_INDEX(LOWER(@user_at_host), '@', -1);
而不是:
mysql> SELECT LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1));
避免使用此错误功能(请参阅超过一年的错误 #42404),并且:
- 使用来自http://www.mysqludf.org/的preg_ * UDF但是 目前,此解决方案不可用 在Windows / Mysql 5.5.8上因为 8个月大的bug #45549
答案 0 :(得分:2)
select substring_index(lower(@user_at_host), '@', -1);
或
select lower(substring(@user_at_host, locate('@', @user_at_host)+1));