使用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语句从第一个条件判定输出的编码?