编码不一致问题-Illegal mix of collations
生活随笔
收集整理的這篇文章主要介紹了
编码不一致问题-Illegal mix of collations
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在解決bug時候碰到一個Illegal mix of collations問題,這個因為編碼不一致到導致的錯誤。錯誤發生率較為高。經常發生在時間的比較上面。較為常見的一勞永逸的辦法,是更改數據庫的編碼,使其一致性。這個也是推薦值較高的方法。
? ? 但是i現實的問題,是數據表往往已經存了大量的數據,更改數據編碼將帶來很多無法預知的錯誤。所以只能在程序里面強制做一次類型轉換,來解決問題。其實就是這么個思想,思想都是一樣,既然提示編碼不一致,那就使其數據編碼一致,從而進行比較。
? ? 在遇到的這個bug中,就是因為時間所謂的編碼不一致導致,為了避免更改數據表,直接修改程序代碼。加入CAST函數進行強制轉換。用convert函數效果是一樣的。
? ? CAST跟convert函數相比更具ANSI標準的功能,使用CAST的函數能更容易的被其它數據庫軟件使用,但功能相對弱一些。不過,當小數轉化為數值,并保留原始表達式中的小數數值時,仍然需要使用CAST。因此建議首先使用CAST,如果遇到必須使用CONVERT的情況時再使用CONVERT。?
? ? 但是i現實的問題,是數據表往往已經存了大量的數據,更改數據編碼將帶來很多無法預知的錯誤。所以只能在程序里面強制做一次類型轉換,來解決問題。其實就是這么個思想,思想都是一樣,既然提示編碼不一致,那就使其數據編碼一致,從而進行比較。
? ? 在遇到的這個bug中,就是因為時間所謂的編碼不一致導致,為了避免更改數據表,直接修改程序代碼。加入CAST函數進行強制轉換。用convert函數效果是一樣的。
? ? CAST跟convert函數相比更具ANSI標準的功能,使用CAST的函數能更容易的被其它數據庫軟件使用,但功能相對弱一些。不過,當小數轉化為數值,并保留原始表達式中的小數數值時,仍然需要使用CAST。因此建議首先使用CAST,如果遇到必須使用CONVERT的情況時再使用CONVERT。?
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
轉載于:https://www.cnblogs.com/tangpanpan23/p/4737456.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的编码不一致问题-Illegal mix of collations的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库中关于convert的参数学习(转
- 下一篇: oc 代码块的使用