저장소이야기/MySql
[MySql] CONCAT과 CONCAT_WS 문자열 합치기
사랑꾼이야
2020. 5. 28. 15:15
반응형
Oracle에서 문자열 조합과 관련하여.(아래)
https://lovethefeel.tistory.com/28
MySql에서도 같은 이유로 정리를 한다.
필드를 조합하여 파일명을 만들 때, 문자열 삽입 등등.
샘플데이터.
DEPARTMENT_ID|DEPARTMENT_NAME|LOCATION| -------------|---------------|--------| 10|ACCOUNTING |NEW YORK| 20|RESEARCH |DALLAS | 30|SALES |CHICAGO | 40|OPERATIONS |BOSTON |
CONCAT.
인수를 연결한 결과를 문자열로 반환한다.
하나 이상의 인수를 받을 수 있음.
doc.
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_concat
사용방법.
CONCAT(str1,str2,...)
예시1).
select CONCAT(DEPARTMENT_ID, DEPARTMENT_NAME, LOCATION) as CONCAT from DEPARTMENTS;
결과.
CONCAT | --------------------| 10ACCOUNTINGNEW YORK| 20RESEARCHDALLAS | 30SALESCHICAGO | 40OPERATIONSBOSTON |
예시2).
문자열 조합.
select CONCAT('lovethefeel', 'tistory', '!!') as CONCAT;
결과.
CONCAT | --------------------| lovethefeeltistory!!|
CONCAT_WS.
특수한 형태의 CONCAT().
첫 번째 인수는 다른 인수들의 구분 기호로 사용되며, 문자열 사이에 구분 기호를 추가.
구분기호가 NULL이면 값은 NULL이다.
doc.
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_concat-ws
사용방법.
CONCAT_WS(separator,str1,str2,...)
예시1).
select CONCAT_WS(',', DEPARTMENT_ID, DEPARTMENT_NAME, LOCATION) as CONCAT from DEPARTMENTS;
결과.
CONCAT | ----------------------| 10,ACCOUNTING,NEW YORK| 20,RESEARCH,DALLAS | 30,SALES,CHICAGO | 40,OPERATIONS,BOSTON |
예시2).
첫번째 인자의 NULL 삽입.
select CONCAT_WS(NULL, DEPARTMENT_ID, DEPARTMENT_NAME, LOCATION) as CONCAT_WS from DEPARTMENTS;
결과.
CONCAT_WS| ---------| | | | |
예시3).
문자열 조합.
select CONCAT_WS(',', 'lovethefeel', 'tistory', '!!') as CONCAT_WS;
결과.
CONCAT_WS | ----------------------| lovethefeel,tistory,!!|
총평.
CONCAT 사용하기에는 MySql이 편한것 같다.
반응형