首页 > 技术文章 > MySQL中去除字段中的回车符和换行符

lusen1987 2018-10-19 22:17 原文

今天处理数据的时候,将Excel数据导入MySQL后,通过SQL语句却查不到需要的数据,后来找到一篇帖子解决了这个问题,原文地址:https://blog.csdn.net/u012586848/article/details/50997865,内容如下:

问题:

在使用【 load data infile 'D:/node.txt' into table node fields terminated by '\t'; 】语句批量导入如下图所示的aaa.txt中的数据到tb.table表中后,最后一个字段中默认包含了换行符或回车符。

 

导入数据后,node表内容如下所示:

 

从直观上看不出导入后的数据有什么问题,但如果执行查询语句【 select * from node where nodeY='7040';  】却查询不出内容。

 

原因是从txt、excel或csv文件导入数据到MySQL后,最后一个字段中的内容包含了换行符,因此查询不出所对应的内容。

解决方法:

执行SQL语句:【 UPDATE tad.node SET  nodeY = REPLACE(REPLACE(nodeY, CHAR(10), ''), CHAR(13), '');  

利用replace()函数将换行符【char(10)】和回车符【char(13)】替换为空串,再次查询后可以得到正确结果。

推荐阅读