[MSSQL] 컬럼문자 합치기 (,) - STUFF..FOR XML PATH

Posted on 2018. 7. 10. 21:23
Filed Under DB

STUFF(): 문자열의 위치와 길이를 지정하여 다른 문자로 치환

STUFF (문자열, 위치, 길이, 치환할 문자)


FOR XML PATH: 쿼리의 결과 데이터를 XML 형태로 표현

FOR XML PATH ([row element명])



SELECT type
     , STUFF((SELECT ',' + name
                FROM t
               WHERE type = a.type
               ORDER BY code
                 FOR XML PATH('')
              ), 1, 1, '') name_MSSQL
  FROM t a
 GROUP BY type
 ORDER BY type


출처: http://hspmuse.tistory.com/entry/group-by에서-문자열-합치기 [개발자인생]

--컬럼명 나열 만들기(INSERT문 작성시 유용)
SELECT STUFF((SELECT ',' + COLUMN_NAME
                        FROM INFORMATION_SCHEMA.COLUMNS
                    WHERE TABLE_NAME = 'USERS' 
		 ORDER BY COLUMN_NAME
                 FOR XML PATH('')
              ), 1, 1, '') AS COLS

참고: https://blog.sonim1.com/107




반응형

About

by 쑤기c

반응형