본문 바로가기
DataBase/MYSQL

[MYSQL] CONCAT 함수

by 오늘은강박사갈거야~~ 2021. 5. 23.
반응형

CONCAT 함수

이 함수는 기본적으로 사용자가 지정한 것(문자열, 컬럼)등의 글자를 합쳐주거나 일괄적으로 글자를 추가하려고 할 때 사용한다.

 

우선 CONCAT 함수를 보면 아래와 같은 형태로 지정되어 있다. 

내가 선택한 것들을 CONCAT 함수 내부의 인자로 작성하고 인자와 인자 사이는 콤마로 구분 지어 놓은 것이다.

 

CONCAT 함수의 기본 형태

 

[1] 사용 형태

 

1. 문자열을 연결하여 출력

 

SELECT CONCAT('test','is','first');

-> 결과는

testisfirst

 

2. 각 열끼리의 연결 및 일괄적으로 문자열 삽입

 

ID_NUM NAME COUNTRY CITY
1 강박사 대한민국 서울
2 줄줄이 대한민국 부산
3 정빵디 러시아 블라디보스톡
4 조상팡 프랑스 파리
5 이한송 NULL 퀘백
SELECT CONCAT(COUNTRY, '-->', CITY) #COUNTRY와 CITY는 컬럼이므로 '로 감싸지 않는다.

-> 결과는

대한민국-->서울대한민국--> 부산
러시아--> 블라디보스톡
프랑스--> 파리
NULL

 

3.WHERE 절에 사용한 CONCAT

 

SELECT CONCAT(COUNTRY, '(', CITY, ')')
FROM TABLE
WHERE CONCAT(ID_NUM, '_', NAME) = "4_조상팡" ;   # I D_NAME=4_조상팡에 해당하는 조건

->결과는
프랑스(파리)

 

[2] 참고 사항

 

 1. CONCAT의 인수 중, 하나라도 NULL이 들어있으면 그것은 NULL로 출력된다.

    위의 표로 설명해 보자면, 이한송이라는 사람은 COUNTRY에 값이 없는 NULL로 표현되어있다.

    이를 CONCAT을 활용하여 사용하여도 결과는 무조건 NULL로 표기된다. 아래 명령어를 보자.

SELECT CONCAT('제 이름은', '_', NAME, '이고,', COUNTRY, '에 삽니다.')
FROM TABLE
WHERE NAME = '이한송';

    이러한 명령어의 결과는 제 이름은_이환송이고, NULL에 삽니다. 가 아니라 NULL이 나오게 된다.

 

 

 2. 이 함수로 반환되는 것은 문자열이다.

 

[3] 참고 자료

https://www.w3resource.com/mysql/string-functions/mysql-concat-function.php

 

MySQL CONCAT() function - w3resource

MySQL CONCAT() function is used to add two or more strings

www.w3resource.com

반응형

댓글