mysql:万恶的乱码之when语句中产生的乱码

使用mysql又遇到问题了,这次是关于乱码的...

其实我也比较了解编码的问题,也知道乱码产生的原理,而且网上对mysql的乱码问题也有比较多的解答,

但是今天我遇到的这个乱码却比较奇怪,在when语句中产生了奇怪的乱码。

create table my_table(id int, name varchar(50), born DateTime);

insert into my_table values(1, '张三', 1986-9-9);

insert into my_table values(2, '李四', 1987-9-10);

insert into my_table values(3, '王五', 1988-9-11);

 

select case when id like '1' then born when id like '2' then concat(name, born) end from my_table

如上语句执行之后,id为2的那行的‘张三’就是乱码。改为:

select case when id like '1' then convert(born, char) when id like '2' then concat(name, born) end from my_table

问题即可解决。难道when语句从第一个条件判定输出的编码?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值