본문 바로가기

DB

[SQL Server]STUFF 함수의 사용

 

기능 : 기존 문자열에 새로운 문자열을 삽입

 

SELECT STUFF('MS_SERVER', 3, 0, 'sql');

 → MSsql_SERVER

'MS_SERVER'의 3번째 문자인 '_'부터 0개를 지우고 'sql'이 들어간다.

 

SELECT STUFF('MS_SERVER', 3, 5, 'sql');

 → MSsqlER

'MS_SERVER'의 3번째 문자인 '_'부터 5개를 지우고 'sql'이 들어간 모습이다.

 

SELECT STUFF('MS_SERVER ', 10, 0, 'sql');

 → MS_SERVERsql

위와 같이 하면 두 문자열을 순서대로 합칠 수도 있다.

그러나 여기서 주의할 점은 두 문자열을 삽입하기 위해서는 'MS_SERVER1' 뒤에 공백이 있어야 한다는 것이다.

 

이런 점으로 보아 STUFF 함수는 문자열을 삽입해주는 함수로 사용하고

문자열을 합쳐야 할 경우에는 아래처럼 '+'를 사용하는 것이 간단할 것 같다.

SELECT 'MS_SERVER' + 'sql';

 → MS_SERVERsql

 

참조 : https://docs.microsoft.com/ko-kr/sql/t-sql/functions/stuff-transact-sql?view=sql-server-ver15&viewFallbackFrom=sql-server-previousversions