学而实习之 不亦乐乎

Sql Server替换换行符和回车符

2019-02-10 17:18:28

软件环境:Sql Server 2017

一、回车符和换行符

这里先说明一下回车与换行是怎么回事。
“回车”(carriage return,’\r’)和“换行”(line feed,’\n’)开始是用在打字机中的,
“回车”:告诉打字机把打印头定位在左边界。
“换行”:告诉打字机把纸向下移一行。

现在在计算机中也仍在使用这两个概念,只是在计算机中其意思有所变化:
“回车”:将光标移动到当前行的开头。
“换行”:将光标“垂直”移动到下一行。(而并不移动到下一行的开头,即不改变光标水平位置)

同时在不同的系统中,使用方法是不同的,具体情况如下:
1.Unix系统里,每行结尾只有“<换行>”,即“\n”;
2.Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;
3.Mac系统里,每行结尾是“<回车>”,即“\r”。
所以在一个系统下打开另一种系统产生的文件时,会有些奇怪的问题,这里不做讨论。

二、Sql Server 中替换掉回车符号和换行符号

UPDATE dbo.TBName SET ColumnName=REPLACE(ColumnName,char(13),'')  -- 替换回车符
UPDATE dbo.TBName SET ColumnName=REPLACE(ColumnName,char(10),'')  -- 替换换行符

关于其他的控制字符,可以参考:ASCII码对照表