여러행의 특정 컬럼 값을 한줄로 나타내 주고 싶을때가 있다.
이럴때 이용할수 있는 방법이 있어 정리해둔다.
학년,반,점수 컬럼을 가지는 임의의 테이블을 하나 만들었다.
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 |