描述:
今天我在从数据库导出数据到Excel时,发现导出的行数并不等于数据库中的记录数,有些数据的某个字段在Excel中占用了两行。于是我开始排查原因,发现可能是因为该字段里面包含了换行符,而在导出数据时未能正确处理导致导出出现了问题。
过程:
针对这个问题,我进行了优化。我使用了内置函数replace(),在select语句中把该字段中可能存在的换行符替换为空字符串,以避免换行符给导出数据带来的不必要麻烦。修正后的语句如下:
原语句:
select 'a
ajsbdhjsa'
优化之后的语句:
select replace('a
ajsbdhjsa'
, '\r', '') ;
备注:
可以借助navicat 工具上边的“导出结果导出”
常用符号:
\t 水平制表符
\r 换行键
\n 回车