STUFF
문자열의 위치와 길이를 지정하여 다른 문자로 치환하는 함수
STUFF(문자열, 위치, 길이, 치환할 문자)
FOR XML PATH
쿼리의 결과 데이터를 XML 형태로 표현
FOR XML PATH('row element명')
예제)
WITH TEST_TABLE AS
(
SELECT 1 as seq, '햄버거' AS name UNION ALL
SELECT 1 as seq, '부대찌개' AS name UNION ALL
SELECT 2 as seq, '된장찌개' AS name UNION ALL
SELECT 2 as seq, '소고기전골' AS name UNION ALL
SELECT 3 as seq, '라면' AS name
)
SELECT Name
FROM TEST_TABLE
FOR XML PATH('음식')
결과)
<음식>
<Name>햄버거</Name>
</음식>
<음식>
<Name>부대찌개</Name>
</음식>
<음식>
<Name>된장찌개</Name>
</음식>
<음식>
<Name>소고기전골</Name>
</음식>
<음식>
<Name>라면</Name>
</음식>
▶ 하나로 표현
WITH TEST_TABLE AS
(
SELECT 1 as seq, '햄버거' AS name UNION ALL
SELECT 1 as seq, '부대찌개' AS name UNION ALL
SELECT 2 as seq, '된장찌개' AS name UNION ALL
SELECT 2 as seq, '소고기전골' AS name UNION ALL
SELECT 3 as seq, '라면' AS name
)
SELECT DISTINCT STUFF(
(
SELECT ',' + Name
FROM TEST_TABLE
FOR XML PATH('')
),1,1,'') AS '음식'
FROM TEST_TABLE AS TEST
결과

'DB' 카테고리의 다른 글
DB 정렬 ORDER BY 관련 (1) | 2024.03.07 |
---|---|
WHERE 조건에 CASE문 처리 (0) | 2024.03.07 |
오라클 HINT (1) | 2024.03.05 |
소수점 처리 방법 및 계산시 유의점 (0) | 2024.03.02 |
테이블 구조를 변경하고자 할때 (0) | 2024.03.01 |