我正在努力解决这个问题。我试图将我的数据包含在\ 001中,并在sql server中删除奇数字符以用于etl目的。但是如果你看到最后一行,似乎有一个回车符,但是当我尝试删除它时不起作用。我尝试过replace(replace(column,char(10),''),char(13),''))。下面是当我做一个较少的列时,但不知道该字符是什么。以前有没有人遇到过这个问题?
欢迎任何建议。
^ A011111 ^ A
^ A012345 ^ A
^ A001231231 ^ A
^ A000213123123112 ^ A
^ A
^ A
如果您有任何问题,请告诉我。
答案 0 :(得分:0)
使用以下脚本。
SELECT REPLACE(column,CHAR(13)+CHAR(10),'')
参见一个示例场景。
DECLARE @input VARCHAR(50)=CHAR(13)+CHAR(10)+'Hello'+CHAR(13)+CHAR(10)+'world'+CHAR(13)+CHAR(10)
SELECT LEN(@input) --OUTPUT : 16
删除所有马车符号
SELECT LEN(REPLACE(@input,CHAR(13)+CHAR(10),'')) --OUTPUT : 10
如果要从字符串的右端删除小车符号,请使用以下查询
SELECT @input=LEFT(@input,LEN(@input)-PATINDEX('%[^'+CHAR(13)+CHAR(10)+']%',REVERSE(@input))+1)
SELECT LEN(@input) --OUTPUT : 14
如果要从字符串的右端删除马车符号,请使用以下查询
SELECT @input=RIGHT(@input,LEN(@input)-PATINDEX('%[^'+CHAR(13)+CHAR(10)+']%',@input)+1)
SELECT LEN(@input) --OUTPUT : 12
答案 1 :(得分:0)
试试这个
选择替换(替换(@input,' ^ A',''),char(13),'')