개요
MSSQL Replace 는 문자를 다른 문자로 바꿔주는 간단한 함수입니다. 다만 특수문자( char(13), 엔터키, 탭, 따옴표 등을 제거하고 싶은데, 잘 안되면 좀 답답해질 수 있습니다.
MSSQL Replace 기본구문
REPLACE ( string_expression , string_pattern , string_replacement )
간단한 예제

ABC 에서 B 를 X 로 바꿔주는 가장 간단한 예제입니다.
특수문자 바꾸기 – 엔터키
DECLARE @A NVARCHAR(10)
SET @A = 'ABC
DEF'
SELECT @A AS [A]
, REPLACE(REPLACE(@A, CHAR(10), ''), CHAR(13), '') AS [REPLACE_A]
숨어있는 특수문자는 대부분, CHAR(9) : 탭, CHAR(10):줄바꿈, CHAR(13) : 캐리지리턴 인데, 위와 같이 쿼리하면 모두 제거할 수 있습니다.

특수문자 바꾸기 – 작은 따옴표
DECLARE @A VARCHAR(100)
SET @A = 'ABC''DEF'
SELECT @A, REPLACE('ABC', '''', '')
작은따옴표가 들어가있으면 REPLACE 에서 작은따옴표 두 개를 이용해서 REPLACE 할 수 있습니다.

특수문자 바꾸기 – 큰 따옴표, 백틱
DECLARE @A VARCHAR(100)
SET @A = 'ABC"DEF'
SELECT @A, REPLACE('ABC', '"', '')
큰따옴표와 백틱은 일반 문자바꾸는 것과 동일하게 바꾸면 됩니다.

여러 개 바꾸기
여러 개를 바꾸려면 REPLACE 를 중첩으로 써야 합니다. 그런데, 그 여러 개가 두어개가 아니라 좀 많으면 귀찮고 복잡합니다. 이 경우 TRANSLATE 를 쓰면 되는데, 이 함수는 두번째와 세번째 인수의 길이가 같아야 해서, 여러 개를 한 번에 없앨 수는 없어서, ‘X’ 라는 문자로 한꺼번에 바꿔놓고, 그 위에 REPLACE 를 씌워서 한꺼번에 바꿔줍니다.
DECLARE @A VARCHAR(100)
SET @A = 'ABC"`D"`E"`F'
SELECT @A
, TRANSLATE(@A, '"`', 'XX')
, REPLACE(TRANSLATE(@A, '"`', 'XX'), 'X', '')

어떤 특수문자가 숨어있는 지 찾기
아래와 같은 코드를 실행해보면 ASCII 값이 나오는데, 이 값을 CHAR() 함수에 던져주면 숨어있는 문자들( CHAR(13) 등과 같은 ) 을 찾을 수 있습니다.
예제는 ABC 뒤에 탭을 한 번 치고, 엔터키를 친 후에 DEF 를 입력한 값입니다.
DECLARE @A NVARCHAR(100)
SET @A = 'ABC
DEF'
DECLARE @I INT, @CNT INT, @K NVARCHAR(1)
SELECT @I = 1, @CNT = LEN(@A)
WHILE (@I <= @CNT )
BEGIN
SELECT @K = SUBSTRING(@A, @I, 1)
SELECT ASCII(@K), @K
SET @I += 1
END

ASCII 코드 값이 65 부터 이어지다가 중간에 9, 13, 10 이 나옵니다. 이 값들을 REPLACE ( …. , CHAR(10), ”) 이런식으로 제거하면 됩니다.