MySQL 去除字段中的换行和回车符

来源:互联网 发布:王诺诺知乎live 编辑:程序博客网 时间:2024/05/18 15:51

转:http://blog.csdn.net/gyanp/article/details/7109314

 

UPDATE SMS_PROVINCE SET PROVINCENAME = REPLACE(REPLACE(PROVINCENAME, CHAR(10),''), CHAR(13),'');

 

环境: RHEL5+MySQL

解决方法:
         
UPDATEtablename SET  field = REPLACE(REPLACE(field, CHAR(10), ”), CHAR(13), ”);

          char(10):  换行符
          char(13):  回车符


问题产生原因:
      2种方法生成excel模式的报表:
      1)手动生成
           将表中的数据导出,生成CSV文件。
          用mysqldump 导出数据 

              #mysqldump -u xxx -p --tab=/tmp/ --fields-terminated-by="#" DBName TBName

              将会在tmp目录下生成TBName.txt 文件。
          在EXCEL中导入生成的txt文件
     2)直接生成csv格式文件
           mysqldump -u samu -p -T --fields-terminated-by=","  --fields-enclosed-by=""
           --lines-terminated-by="\n"  --fields-escaped-by=""  test Customer

          或者:
         
mysqldump -u samu -p --tab=/tmp/ --fields-terminated-by=","  --fields-enclosed-by=""
          --lines-terminated-by="\n"  --fields-escaped-by=""  test Customer

       
          但是,无论上面哪一种方法,如果表的某个列里包含回车符或者换行符,
          那么生成的CSV文件或者进行excel导入,都会将原本的1行数据,拆分成2行。
          因为CSV或者excel导入,是按数据的行来认定数据条数。

         所以,必须在此之前,将字段中的回车符或者换行符,进行替换。


0 0