• 编码不一致问题-Illegal mix of collations


    在解决bug时候碰到一个Illegal mix of collations问题,这个因为编码不一致到导致的错误。错误发生率较为高。经常发生在时间的比较上面。较为常见的一劳永逸的办法,是更改数据库的编码,使其一致性。这个也是推荐值较高的方法。
        但是i现实的问题,是数据表往往已经存了大量的数据,更改数据编码将带来很多无法预知的错误。所以只能在程序里面强制做一次类型转换,来解决问题。其实就是这么个思想,思想都是一样,既然提示编码不一致,那就使其数据编码一致,从而进行比较。
        在遇到的这个bug中,就是因为时间所谓的编码不一致导致,为了避免更改数据表,直接修改程序代码。加入CAST函数进行强制转换。用convert函数效果是一样的。
        CAST跟convert函数相比更具ANSI标准的功能,使用CAST的函数能更容易的被其它数据库软件使用,但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST。因此建议首先使用CAST,如果遇到必须使用CONVERT的情况时再使用CONVERT。 

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    zend studio常见问题解答
    瀑布流插件(jquery.masonry.js)
    仿jQuery中undelegate()方法功能的函数
    Linux 常用命令
    linux debugfs 找回rm 的文件
    jq 添加和移除样式
    CentOS 搭建 nginx python django web server
    Linux vim 配置文件
    CentOS 安装python 3.3.2
    login.defs和shadow文件区别
  • 原文地址:https://www.cnblogs.com/tangpanpan23/p/4737456.html
Copyright © 2020-2023  润新知