最近在获取数据时,发现程序读取的字段中含有\r\n字符,检查数据库表中的数据,发现是varchar字符串中包含了换行符。导入数据导致了这一情况出现。
回车换行
不同系统的行结尾符号并不同,如下:
- linux/unix下的行结尾符号是
\n
- windows中的行结尾符号是
\r\n
- Mac系统下的行结尾符号是
\r
查找换行符
select * from table where
collum like '%'+CHAR(10) + '%' --linux下的换行符
or collum like '%'+CHAR(13)+CHAR(10) + '%' --windows下的换行符
or collum like '%'+CHAR(13)+ '%' -- mac下的换行符
替换换行符
--windows下的替换操作
update table
set column= REPLACE(column, CHAR(13) + CHAR(10), '')
where collum like '%'+CHAR(13)+CHAR(10) + '%'