SQL列中含有换行符的查找和替换方法

时间:2022-08-13 16:15:00

最近在获取数据时,发现程序读取的字段中含有\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) + '%'