STUFF(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
STUFF 함수는 다른 문자열에 문자열을 삽입합니다. 이 함수는 지정된 시작 위치와 문자 수에 따라 첫 번째 문자열의 문자를 삭제하고 두 번째 문자열을 시작 위치에 삽입합니다.
구문
STUFF ( character_expression , start , length , replace_with_expression )
인수
character_expression
문자 데이터의 식입니다. character_expression은 문자나 이진 데이터의 상수, 변수 또는 열일 수 있습니다.
start
삭제 및 삽입을 시작할 위치를 지정하는 정수 값입니다. start가 음수 또는 0이면 Null 문자열이 반환됩니다. start가 첫 번째 character_expression보다 긴 경우 null 문자열이 반환됩니다. start는 bigint 형식일 수 있습니다.
length
삭제할 문자 수를 지정하는 정수입니다. length가 음수이면 null 문자열이 반환됩니다. length가 첫 번째 character_expression보다 긴 경우 마지막 character_expression의 마지막 문자까지 삭제됩니다. 길이가 0인 경우, 시작 위치에 삽입이 발생하고 어떤 문자도 삭제되지 않습니다. length는 bigint 형식일 수 있습니다.
replace_with_expression
문자 데이터의 식입니다. replace_with_expression은 문자나 이진 데이터의 상수, 변수 또는 열일 수 있습니다. 이 식은 character_expression에서 start부터 length문자를 바꿉니다. NULL
을 replace_with_expression으로 제공할 경우 아무 것도 삽입하지 않고 문자를 제거합니다.
반환 형식
지원되는 문자 데이터 형식 중 character_expression이 이 있을 경우 문자 데이터를 반환합니다. 지원되는 이진 데이터 형식 중 character_expression이 이 있을 경우 이진 데이터를 반환합니다.
설명
시작 위치 또는 길이가 음수이거나 시작 위치가 첫 번째 문자열의 길이를 넘어서면 null 문자열이 반환됩니다. 시작 위치가 0일 경우 Null 값이 반환됩니다. 삭제할 길이가 첫 번째 문자열보다 길면 첫 번째 문자열의 첫 번째 문자까지 삭제됩니다.
결과 값이 반환 유형이 지원하는 최대값보다 크면 오류가 발생합니다.
보조 문자(서로게이트 쌍)
SC(보조 문자) 데이터 정렬을 사용할 경우 character_expression 및 replace_with_expression 모두 서로게이트 쌍을 포함할 수 있습니다. 길이 매개 변수는 character_expression의 각 서로게이트를 단일 문자로 계산합니다.
예제
다음 예에서는 첫 문자열 abcdef
에서 2
위치의 b
부터 세 문자를 삭제하고 삭제 지점에 두 번째 문자열을 삽입하여 만든 문자열을 반환합니다.
SELECT STUFF('abcdef', 2, 3, 'ijklmn');
GO
결과 집합은 다음과 같습니다.
---------
aijklmnef
(1 row(s) affected)