2018-4-28 MySQL 去除字段中的换行和回车符

2018-4-28 MySQL 去除字段中的换行和回车符

问题

mysqld导出的csv中会有多个换行,是因为字段中存在换行和回车符。

解决方法

UPDATE finall_2 SET loan_time = REPLACE(REPLACE(loan_time, CHAR(10),''), CHAR(13),'');

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

问题产生原因:

2种方法生成excel模式的报表:

  • 手动生成
    将表中的数据导出,生成CSV文件。
    用mysqldump 导出数据
    #mysqldump -u xxx -p --tab=/tmp/ --fields-terminated-by="#" DBName TBName
    将会在tmp目录下生成TBName.txt 文件。
    在EXCEL中导入生成的txt文件
  • 直接生成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导入,是按数据的行来认定数据条数。

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

posted @ 2018-04-28 15:15  数据分析之路  阅读(1031)  评论(0编辑  收藏  举报