이 글에서는 SQL Server에서 하나의 문자열 안에 다른 문자열을 삽입하는 STUFF 함수의 개념과 사용 방법을 자세히 살펴봅니다.
STUFF 함수란?
SQL Server의 STUFF 함수는 원본 문자열의 지정된 위치부터 일부 문자를 삭제한 뒤, 그 자리에 새로운 문자열을 삽입하는 기능을 수행합니다. 함수 실행 결과는 기존 문자가 제거되고 새 문자열이 추가된 형태의 새로운 문자열로 반환됩니다.
구문
SQL Server에서 STUFF 함수를 사용하는 기본 구문은 다음과 같습니다.
STUFF(string, start, length, new_string)
매개변수 설명
- string: 수정하고자 하는 원본 문자열입니다.
- start: 문자 삭제를 시작할 위치입니다. (문자열의 첫 번째 문자는 1부터 시작)
- length: start 위치부터 삭제할 문자의 개수입니다.
- new_string: start 위치에 삽입할 새로운 문자열입니다.
참고 사항
- 특정 문자열을 찾아서 교체하는 작업이라면 REPLACE 함수를 사용하는 것이 더 적합합니다.
- STUFF 함수는 SQL Server 2017, 2016, 2014, 2012, 2008 R2, 2008, 2005 버전 및 그 이상의 모든 버전에서 사용할 수 있습니다.
사용 예제
실제 예제를 통해 STUFF 함수의 동작 방식을 하나씩 확인해 보겠습니다.
SELECT STUFF('TipsMake.com', 1, 11, 'Meta');
-- 결과: 'Meta.com'
위 예제는 1번째 위치부터 11개의 문자('TipsMake.co')를 삭제하고, 그 자리에 'Meta'를 삽입한 결과입니다.
SELECT STUFF('QuanTriMang.com', 5, 3, '1234');
-- 결과: 'Quan1234Mang.com'
이번에는 5번째 위치부터 3개의 문자('Tri')를 삭제한 후 '1234'로 대체했습니다.
SELECT STUFF('QuanTriMang.com', 12, 4, ' la website thong tin dien tu');
-- 결과: 'QuanTriMang la website thong tin dien tu'
마지막 예제는 12번째 위치부터 4개의 문자('.com')를 삭제하고 새로운 문장을 삽입한 경우입니다. 이처럼 STUFF 함수를 활용하면 원하는 위치의 문자를 손쉽게 삭제하고 새로운 내용으로 교체할 수 있습니다.