본문 바로가기
DataBase/MYSQL

[MYSQL] SQL 문법 - 문자열 합치기

by 민졈 2022. 10. 17.

 

 

 

 

이번시간에는 여러 컬럼 값을 조회 한 후에 하나의 문자열 또는

 

하나의 컬럼 값으로 반환할 때 사용하는 

 

CONCAT 에 대해 알아보도록 하겠습니다.

 

 

 

 

Oracle(오라클)에서는 || 를 사용하여 쉽게 처리할 수 있지만

 

MYSQL에서는 CONCAT( ) 또는 CONCAT_WS( )를 사용해야합니다.

 

 

 

 

MYSQL의 CONCAT( ) 함수는 둘 이상의 문자열이나

 

둘 이상의 컬럼 값을 순서대로 합쳐 반환하는데요,

 

조회하거나 합쳐지는 문자열/컬럼 값에 NULL이 포함된다면

 

NULL이 반환되게 됩니다.

 

 

 

사용방법은 아주 간단한데요, 방법은 아래와 같습니다.

 

SELECT CONCAT(문자열 1, 문자열 2, ... ) FROM 테이블 명; 

 

 

예문을 통해 사용법을 익히시기 바랍니다.

 

EX>

SELECT CONCAT('NAME' , 'JUNE') FORM DUAL;
SELECT CONCAT('HI', 'NICE', 'TO MEET YOU') FROM DUAL;

>> RESULT
NAME JUNE
HI NICE TO MEET YOU

* DUAL 테이블은 쿼리문의 수행 결과가 하나의 ROW로 출력되기 위한 DUMMY 컬럼만 갖고 있음, 함수를 위한 임시 테이블 같은 개념

 

 

 

 

반면 CONCAT_WS( )도 CONCAT( ) 함수와 동일한 기능을 하고 있지만

 

두가지의 차이점이 있습니다.

 

우선, 둘 이상의 문자열/컬럼 명이 있는 경우에 이 사이에 반복되는 구분자를 넣어야하고

 

두번째는 합쳐지는 문자열에 NULL이 포함되어 있더라도

 

반환 값은 NULL이 아니라는 점입니다.

 

 

 

사용방법은 아래와 같습니다.

SELECT CONCAT_WS(구분자, 문자열 1, 문자열2, ...) FROM 테이블 명;

 

 

EX> 

SELECT CONCAT_WS(',' , 'H', 'I', 'WOW') FROM DUAL;
SELECT CONCAT_WS(',' , 'HI', 'NICE', 'TO MEET YOU') FROM DUAL;

>> RESULT
H,I,WOW
HI,NICE,TO MEET YOU

 

 

 

 

 

 

 

 

 

댓글