REPLACE(Transact-SQL)REPLACE (Transact-SQL)

적용 대상: 예SQL Server 예Azure SQL Database 예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

지정된 문자열 값의 모든 항목을 다른 문자열 값으로 바꿉니다.Replaces all occurrences of a specified string value with another string value.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

REPLACE ( string_expression , string_pattern , string_replacement )  

인수Arguments

string_expressionstring_expression
검색할 문자열 입니다.Is the string expression to be searched. string_expression는 문자 또는 이진 데이터 형식일 수 있습니다.string_expression can be of a character or binary data type.

string_patternstring_pattern
찾을 부분 문자열입니다.Is the substring to be found. string_expression은 문자 또는 이진 데이터 형식일 수 있습니다.string_pattern can be of a character or binary data type. string_pattern은 빈 문자열('')일 수 없으며 페이지 크기에 맞는 최대 바이트 수를 초과하지 않아야 합니다.string_pattern cannot be an empty string (''), and must not exceed the maximum number of bytes that fits on a page.

string_replacementstring_replacement
대체 문자열입니다.Is the replacement string. string_replacement는 문자 또는 이진 데이터 형식일 수 있습니다.string_replacement can be of a character or binary data type.

반환 형식Return Types

입력 인수 중 하나의 데이터 형식이 nvarchar이면 REPLACE는 nvarchar를 반환하고 그렇지 않으면 varchar를 반환합니다.Returns nvarchar if one of the input arguments is of the nvarchar data type; otherwise, REPLACE returns varchar.

인수 중에 Null이 있으면 NULL을 반환합니다.Returns NULL if any one of the arguments is NULL.

string_expression의 형식이 varchar(max) 또는 nvarchar(max)가 아닌 경우 REPLACE는 반환 값을 8,000 바이트에서 자릅니다.If string_expression is not of type varchar(max) or nvarchar(max), REPLACE truncates the return value at 8,000 bytes. 8,000바이트를 초과하는 값을 반환하려면 string_expression을 큰 값 데이터 형식으로 명시적으로 캐스팅해야 합니다.To return values greater than 8,000 bytes, string_expression must be explicitly cast to a large-value data type.

RemarksRemarks

REPLACE는 입력의 데이터 정렬을 기반으로 비교를 수행합니다.REPLACE performs comparisons based on the collation of the input. 지정된 데이터 정렬에서 비교를 수행하려면 COLLATE를 사용하여 입력에 명시적 데이터 정렬을 적용할 수 있습니다.To perform a comparison in a specified collation, you can use COLLATE to apply an explicit collation to the input.

0x0000 (char(0) )은 Windows 데이터 정렬에서 정의되지 않은 문자이며 REPLACE에 포함할 수 없습니다.0x0000 (char(0)) is an undefined character in Windows collations and cannot be included in REPLACE.

Examples

다음 예에서는 cdeabcdefghi 문자열을 xxx로 대체합니다.The following example replaces the string cde in abcdefghi with xxx.

SELECT REPLACE('abcdefghicde','cde','xxx');  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

------------  
abxxxfghixxx  
(1 row(s) affected)  

다음 예에서는 COLLATE 함수를 사용합니다.The following example uses the COLLATE function.

SELECT REPLACE('This is a Test'  COLLATE Latin1_General_BIN,  
'Test', 'desk' );  
GO  

결과 집합은 다음과 같습니다.Here is the result set.

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

참고 항목See Also

CONCAT(Transact-SQL)CONCAT (Transact-SQL)
CONCAT_WS(Transact-SQL)CONCAT_WS (Transact-SQL)
FORMATMESSAGE(Transact-SQL)FORMATMESSAGE (Transact-SQL)
QUOTENAME(Transact-SQL)QUOTENAME (Transact-SQL)
REVERSE(Transact-SQL)REVERSE (Transact-SQL)
STRING_AGG(Transact-SQL)STRING_AGG (Transact-SQL)
STRING_ESCAPE(Transact-SQL)STRING_ESCAPE (Transact-SQL)
STUFF(Transact-SQL)STUFF (Transact-SQL)
TRANSLATE(Transact-SQL)TRANSLATE (Transact-SQL)
데이터 형식(Transact-SQL) Data Types (Transact-SQL)
문자열 함수(Transact-SQL)String Functions (Transact-SQL)