출처 : http://blog.naver.com/sunlit79?Redirect=Log&logNo=140170531319
TUFF(Transact-SQL)
STUFF 함수는 다른 문자열에 문자열을 삽입합니다. 이 함수는 지정된 시작 위치와 문자 수에 따라 첫 번째 문자열의 문자를 삭제하고 두 번째 문자열을 시작 위치에 삽입합니다.
다음 예에서는 첫 문자열 abcdef에서 2 위치의 b부터 세 문자를 삭제하고 삭제 지점에 두 번째 문자열을 삽입하여 만든 문자열을 반환합니다.
결과 집합은 다음과 같습니다.
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
FROM MCS_TRAINING MT
LEFT OUTER JOIN
(SELECT DISTINCT TRN_ID,
STUFF((
SELECT ',' + SITE_ID
FROM dbo.MCS_TRAINING_SITE B WHERE B.TRN_ID = A.TRN_ID
FOR XML PATH('')
), 1, 1, '') AS SiteInfo
FROM dbo.MCS_TRAINING_SITE A) MS
ON MT.TRN_ID = MS.TRN_ID
WHERE MT.TRN_ID = 5
---------------------------------------------------------------------------------------------------------------
5 C5A0_T1111,C5A0_T1112
19 Z108911
24 0006171450,0006194246
25 0002124488,0002124870,0006171450,0006194246,22462,C5A0_4024,C5A0_4047,C5A0_4048,C5A0_6536,C5A0_6543
26 0002124488,0002124871,0002124873,0002125980,0002126516,0002126857,0002127402,0003262688,0006084378,0006171450,0006194246,0006224753,0006276442,22923,C5A0_6133,C5A0_T1001,C5A0_T1002,C5A0_T4454,Z108907,Z108911
27 0002124488,0002124871,0002124873,0002125980,0002126516,0002126857,0002127402,0003262688,0006084378,0006171450,0006194246,0006224753,0006276442,22923,C5A0_6133,C5A0_T1001,C5A0_T1002,C5A0_T4454,Z108907,Z108911
28 0006084378,0006171450,0006194246,0006224753,0006276442,Z108907,Z108911
(7개 행 적용됨)
[출처] STUFF(Transact-SQL) 활용|작성자 forMyGoddess
'SQL' 카테고리의 다른 글
[MSSQL]tempDB경로변경 (0) | 2013.07.18 |
---|---|
[MSSQL]TEMPDB dbcc shrinkfile로 사이즈 줄이는 방법 (0) | 2013.07.17 |
[MSSQL] query cache 확인 및 지우기 (0) | 2013.05.22 |
[MSSQL] 로그인 계정만들기 - 서버역할 (0) | 2013.02.25 |
[MSSQL][ASP][JAVASCRIPT] 문자열 함수 (asp, mssql, javascript) (0) | 2013.02.19 |