今天在远程查询sql数据时,遇到了乱码以及在表中大量出现回车符的情况,处理过程比较有意义,日志一下,留待后用。
本来在sql查询分析器中查询的,但查询出来的数据,在复制时,不能复制表头,要一项项设置,比较麻烦;因此就考虑在企业管理器中把刚才在sql查询分析器中的语句执行一下,这样就可以复制字段名,也就是表格的表头。
在把数据复制到excel中后,处理数据发现了大量的乱码错误,并且在整理乱码表列时,还发现存有很多回车标记,这可能是录入资料人员由于习惯问题,把回车符也给提交了上去,这是程序没有过滤引起的。
后来考虑把回车符从sql数据库中去掉,同时也在想,会不会是由于回车符引起了数据导入到excel后文本乱码?
在sql中替换去掉回车符的sql语句:
把回车符替换成空;
update tablename set field1=replace(field1,’ ‘,”)
或:
update tablename set field1=replace(replace(field1,char(10),”),char(13),”)
回车符号在sql中是char(13),第一个命令我用过;第二个命令没在实际测试用,如果要替换为其他字符值,把单引号中加入相应值即可。

备注下:
UPDATE shangpin
SET mingcheng = REPLACE(mingcheng, ‘
‘, ”)
单引号怎么都成了双引号了?有用到的,记着换下
去掉回车换行
set @str = replace(@str,char(13)+char(10),”)