다음을 통해 공유


REPLACE(Transact-SQL)

지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿉니다.

적용 대상: SQL Server(SQL Server 2008 - current version), Windows Azure SQL 데이터베이스(최초 릴리스 - 현재 릴리스)

항목 링크 아이콘 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('This is a Test'  COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO

결과 집합은 다음과 같습니다.

------------
This is a desk
(1 row(s) affected)

참고 항목

참조

데이터 형식(Transact-SQL)

문자열 함수(Transact-SQL)