적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
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)