반응형
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이 편한것 같다.
반응형
'저장소이야기 > MySql' 카테고리의 다른 글
[MySql] SQL Error [1248] [42000]: Every derived table must have its own alias (0) | 2020.06.03 |
---|---|
[MySql] CASE 구문 (0) | 2020.06.03 |
[MySql] SQL Error [1305] [42000]: FUNCTION TO_CHAR does not exist (0) | 2020.05.27 |
[MySql] SQL Error [1054] [42S22]: Unknown column 'SYSDATE' in 'field list' (0) | 2020.05.25 |
[MySql] SQL Error [1064] [42000]: You have an error in your SQL syntax (0) | 2020.05.25 |
댓글