여러행의 특정 컬럼 값을 한줄로 나타내 주고 싶을때가 있다. 

이럴때 이용할수 있는 방법이 있어 정리해둔다. 

학년,반,점수 컬럼을 가지는 임의의 테이블을 하나 만들었다. 

WITH TABLE_A( 학년, 반,점수) AS (
    SELECT '1학년','1반',100 UNION ALL
    SELECT '2학년','1반',200 UNION ALL
    SELECT '3학년','1반',300 
)
SELECT * FROM TABLE_A

 

나는 아래와 같이 1학년,2학년,3학년 이렇게 한줄로 보고 싶었다.

그럴땐 FOR XML PATH 을 이용하면 된다.  

 

그런데 1학년 앞에 , 도 없애고 싶다. 이럴때 STUFF함수를 사용하면 된다. 

STUFF사용 방법은 아래와 같다. start 부터 크기까지 지정한 치환문자로 바꿔준다. 

STUFF('[문자열]','[시작위치]','[크기]','[치환문자]')

 

'MSSQL' 카테고리의 다른 글

db링크 확인 하는 법  (0) 2020.03.27
bulk insert  (0) 2020.03.26
STRING ORDER BY 가 안될때  (2) 2020.03.20
[MS SQL] 재귀쿼리 트리구조 쿼리 WITH CTE  (0) 2020.02.04
숫자+문자를 포함한 데이터 order by 가 안되는 경우  (0) 2020.02.04

+ Recent posts