MySQL 여러 문자열을 구분하여 하나의 문자열로 합치기 (CONCAT_WS 함수)
2023. 7. 12. 11:54ㆍ카테고리 없음
반응형
▶설명
간혹 여러 문자열 혹은 컬럼 값을 반복되는 구분자를 넣고 합쳐서 가져와야 하는 경우가 있습니다. (PHP에서 비슷한 함수로는 implode가 존재합니다.)
이 때 사용하는 함수가 CONCAT_WS 함수입니다.
CONCAT_WS 함수는 둘 이상의 문자열이 있는 경우,
각 문자열 사이에 설정한 구분자(콤마 혹은 콜론 등)를 넣어서 하나의 문자열로 반환해주는 함수입니다.
▶사용법
CONCAT_WS(구분자, 문자열1 [, 문자열2, 문자열3 ...])
▶예제 쿼리 (Example Query)
기본 사용
쿼리
SELECT CONCAT_WS(',', '안녕하세요', '감사해요', '잘있어요', '다시만나요') AS hello;
결과
hello |
안녕하세요,감사해요,잘있어요,다시만나요 |
컬럼 데이터 합치기
예제 테이블 : hero_collection
idx | type | name |
1 | 1 | 안중근 |
2 | 1 | 윤봉길 |
3 | 2 | 김유신 |
4 | 2 | 이순신 |
5 | 3 | 이성계 |
6 | 3 | 왕건 |
7 | 4 | 반갑수 |
쿼리
SELECT CONCAT_WS('::', idx, type, name) as hero_name FROM hero_collection;
결과
hero_name |
1::1::안중근 |
2::1::윤봉길 |
3::2::김유신 |
4::2::이순신 |
5::3::이성계 |
6::3::왕건 |
7::4::반갑수 |
반응형