간혹 프로그램을 짜다보면 세로열로 출력되는 다수의 데이타를 한줄의 컬럼으로 출력해서
문자열처리를 하고 싶은 경우가 종종 있다.
요즘은 MS-SQL의 버전이 올라가면서 이러한 기능을 위한 함수를 제공하는것 같은데
필자가 사용하는 MS-SQL은 2008 R2버전이다.
그래서 FOR XML PATH를 사용한다.
사용법은 아래와 같다.
SELECT ',' + NO_EMP
FROM EMPLOYEE
GROUP BY LEFT(NO_EMP, 4)
FOR XML PATH('')
만약 사번의 포멧방식이 2018XXXX 로 앞에 네자리가 년도라고 가정하고 위와같이 수행하면
,2016,2017,2018
식으로 출력이 될 것이다.
여기에 맨앞에 콤마를 지우고 싶다면 STUFF함수로 위의 쿼리를 감싸주면 해결된다.
그리하여 프로그램 코드안에서 콤마로 스플릿해서 사용할 수 있다.