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

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

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

转载于:https://www.cnblogs.com/tangpanpan23/p/4737456.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值