Mysql 문자열 합치기

    흔히 오라클을 사용하던 사람들이 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를 사용하도록 하자.



    댓글

    Designed by JB FACTORY