背景
产品提了个数据需求,让我帮忙导批数据,我一顿操作猛如虎,三下五除二把邮件发过去了。过了一会儿产品说数据中长文本都换行了,她没法做分析。让我想办法把多行搞成一行,我打开文件一看,还真换行了,这是为什么呢?我强行答应产品,我可以解决,其实心里慌的一批。
解决方案
在换行的字段上面加上REPLACE(REPLACE(PROVINCENAME, CHAR(10),’ ‘), CHAR(13),’ ‘)
如: select id,REPLACE(REPLACE(message, CHAR(10),’ ‘), CHAR(13),’ ') as message from message;
然后再导出就没有问题了。
知识点
char(10): 换行符
char(13): 回车符
其中 10 ,13 都是ASCII的值
ps:如果导出的是Excel,你可能会发现字段值导出来不全,被截断了,这时候不要慌,你可以先导出csv,然后再从csv全选复制粘贴到excel 中就可以了。