易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

MySQL创建关联表

 
MySQL创建关联表可以理解为是两个表之间有个外键关系,但这两个表必须满足三个条件
                                1.两个表必须是InnoDB数据引 ......

MySQL 的外键与参照完整性

 
1. 什么是参照完整性?
——————–
参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:
文章分类表 -  categories
category_id    &n ......

mysql 修改帐号远程登陆权限

GRANT ALL PRIVILEGES
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
Sql代码 复制代码
   1. mysql -u root -pvmwaremysql>use mysql; 
   ......

修改mysql的默认字符集

 安装mysql
sudo apt-get install mysql-server#直接自动获得可用版本
也可以这样写
sudo apt-geti nstall mysql-server-5.0#安装mysql服务器5.0版本
安装后
/etc/init.d/mysqlstart(stop)为启动和停止服务器
/etc/mysql/主要配置文件所在位置my.cnf
/var/lib/mysql/放置的是数据库表文件夹,这里的mysql相当于 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号