MySQL字符集问题

sql示例:

SELECT
CASE
	
WHEN
	@CPDM != CPDM THEN
	@rownum := 1 ELSE @rownum := @rownum + 1 
END AS RN,
	@CPDM := CPDM AS CPDM,
	@BIZ_DATE := BIZ_DATE AS BIZ_DATE,
	a.QMRQ AS QMRQ 
FROM
	( SELECT @CPDM := '' FROM DUAL ) k,
	( SELECT @BIZ_DATE := '' FROM DUAL ) v,
	( SELECT @rownum := 0 ) r,
	(
	SELECT DISTINCT
		T.QMRQ,
		T.CPDM,
		T1.BIZ_DATE 
	FROM
		TC_PF_FISP003_CP_CPJZXX T
		LEFT JOIN ( SELECT BIZ_DATE FROM TC_DF_HOLIDAY C WHERE C.C_DATA_TYPE = 'CN' AND C.IS_HOLIDAY = '1' ) T1 ON T1.BIZ_DATE >= T.JZRQ 
	) A 
ORDER BY
	CPDM,
BIZ_DATE

sql在开发环境运行正常,但是在测试环境中运行时报错:

错误代码: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_croatian_ci,IMPLICIT) for operation '='

经网上查资料,修改字符集测试后,发现问题所在。

问题原因:

        MySQL数据库有数据库的默认字符集,而数据库中的表字段也有自己的字符集。

问题解决办法:

修改表字段的数据集或修改数据库数据集。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值