2011-02-18 43 views
1

我發現在MySQL一個很奇怪的錯誤,我在這裏報道:SUBSTRING_INDEX()結果裏面LOWER()一起使用時「省略」字

Bug #60166

  • 任何人都可以證實,我認爲這是一個錯誤,而不是理解MySQL如何工作的問題? 瓦列裏·克拉夫丘克:謝謝你的錯誤報告驗證,就像描述。)
  • 這是什麼錯誤的原因???
  • 除了我在錯誤報告中描述的問題之外,有沒有人提供一些建議來解決這個問題?
  • 如果有人可以幫助我在Windows上安裝MySQL UDF 5.5.8,我想,我會非常 gratefull!

無論如何,在Bug #42404的方面,SUBSTRING_INDEX()似乎有一個非常奇怪的行爲。

提前感謝您的幫助!

[編輯]

這裏,已經通過我的錯誤報告給出的候選條件的解決方案:

建議的修復:

  • 用途:

    而不是

    mysql> SELECT SUBSTRING_INDEX(LOWER(@user_at_host), '@', -1);

    mysql> SELECT LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1));

  • 避免使用此車功能(見一年以上的老錯誤 #42404),以及:

回答

2
select substring_index(lower(@user_at_host), '@', -1); 

select lower(substring(@user_at_host, locate('@', @user_at_host)+1)); 
+0

`有沒有人提供一些建議來解決這個問題** **其他比我描述在錯誤報告中?`這是我已經提出的第一個解決方案^^ – 2011-02-18 11:40:55