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


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

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

  • 相关阅读:
    vue--vue-resource实现 get, post, jsonp请求
    vue--生命周期演示
    vue--自定义指令
    vue--键盘修饰符以及自定义键盘修饰符
    vue--过滤器(私有,全局)
    mysql5.7二进制包安装方式
    搭建GIT服务器
    服务器集群,及服务器高并发调优备忘
    iptables 配置问题,以及centos firewall 配置
    nginx 编译安装
  • 原文地址:https://www.cnblogs.com/tangpanpan23/p/4737456.html
Copyright © 2020-2023  润新知