今天处理数据的时候,将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)】替换为空串,再次查询后可以得到正确结果。

posted on 2018-10-19 22:17  紫色舞蹈  阅读(2460)  评论(0编辑  收藏  举报