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 
 안중근
 윤봉길
 김유신
 이순신
 이성계
 왕건
 7   반갑수

 

쿼리

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::반갑수

 

반응형