빅데이터 및 DB/MySQL

Mysql 문자열 합치기

Steve Jang 2016. 8. 25. 15:45

흔히 오라클을 사용하던 사람들이 Mysql을 사용하면 헷갈리는 부분중 하나가 바로 문자열 합치기이다.

 

오라클은 || 로 간단하게 합치는 반면 Mysql은 해당 기능이 먹히지 않기 때문이다.

그 함수가 CONCAT, CONCAT_WS 함수이다.

 

1. CONCAT


SELECT CONCAT(str1, str2 ... );


한마디로, CONCAT은 문자열을 나열하면 값을 합치게 된다.

아래는 CONCAT 예제들이다. 특히, NULL 부분 확인


위 사례처럼, Concat 안에 들어가는 문자열 중, NULL이 들어가면, 무조건 결과는 NULL로 떨어진다.


CONCAT을 잘못써서, NULL이 나올 수 있는 점은 감안하고, 사용하도록 하자.




2. CONCAT_WS


SELECT CONCAT_WS(sepator, str1, str2 ...);


CONCAT_WS는 인자값으로, separator까지 들어가게 되는데 일단 예제를 보도록 하자.


CONCAT_WS는 문자열을 이어줄 때, 구분자값을 넣어준다.


위 예제처럼, 처음 시작되는 구분자 값으로 문자열을 이어주게 된다.

단순히 연결하여 하나의 값으로 만들려고 한다면, CONCAT을 사용하고, 특정 값으로 구분을 짓고 싶다면, CONCAT_WS를 사용하도록 하자.