REPLACE(Transact-SQL)
지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿉니다.
구문
REPLACE ( string_expression , string_pattern , string_replacement )
인수
string_expression
검색할 문자열 식입니다. string_expression은 문자 또는 이진 데이터 형식일 수 있습니다.string_pattern
찾을 부분 문자열입니다. string_pattern은 문자 또는 이진 데이터 형식일 수 있습니다. string_pattern는 빈 문자열('')일 수 없으며 페이지 크기에 맞는 최대 바이트 수를 초과하지 않아야 합니다.string_replacement
대체 문자열입니다. string_replacement는 문자 또는 이진 데이터 형식일 수 있습니다.
반환 형식
입력 인수 중 하나가 nvarchar 데이터 형식이면 nvarchar를 반환하고 그렇지 않으면 REPLACE는 varchar를 반환합니다.
인수 중에 Null이 있으면 NULL을 반환합니다.
string_expression이 varchar(max) 또는 nvarchar(max), 형식이 아닌 경우 REPLACE는 반환 값을 8,000바이트에서 자릅니다. 8,000바이트를 초과하는 값을 반환하려면 string_expression을 큰 값 유형의 데이터로 명시적으로 캐스팅해야 합니다.
주의
REPLACE는 입력의 데이터 정렬을 기반으로 비교를 수행합니다. 지정된 데이터 정렬에서 비교를 수행하려면 COLLATE를 사용하여 입력에 명시적 데이터 정렬을 적용할 수 있습니다.
0x0000(char(0))은 Windows 데이터 정렬에서 정의되지 않은 문자이며 REPLACE에 포함할 수 없습니다.
예
다음 예에서는 abcdefghi의 cde 문자열을 xxx로 대체합니다.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
결과 집합은 다음과 같습니다.
------------
abxxxfghixxx
(1 row(s) affected)
다음 예에서는 COLLATE 함수를 사용합니다.
SELECT REPLACE('Das ist ein Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
결과 집합은 다음과 같습니다.
------------
Das ist ein desk
(1 row(s) affected)