이 글은 2년 이상 지난 이야기에요. 읽으실때 참고!
Mysql CONCAT 기능에 대해서

잊어버릴까봐 작업 로그겸 기록 남깁니다.

 

 

MySQL 또는 MariaDB에서 한 개 이상의 문자열 데이터를 합치는 DB함수로서 CONCAT을 지원합니다.

통상적으로는 두개의 유효한 문자열을 합치는데 큰 문제없이 사용할 수 있는 기능이긴한데, 합치는 값이 Null값을 가지고 있으면 결과값이 통째로 Null이 나옵니다.

 

그럴땐 Null값을 판독해 공백문자로 치환할 수 있는 COALESCE 함수와 같이 사용하면 원하는 쿼리결과를 얻을 수 있습니다.

 

1
2
SELECT CONCAT(SOCT_KEY, COALESCE(SOCT_NAME, ''), COALESCE(SOCT_NOTE, ''), COALESCE(SOCT_COMT_NOTE, '')) FROM SOCIETY_VIEW
 
cs

 

KEY값처럼 Null값을 허용하지 않는 컬럼은 문제가 없는데 NOTE 같이 기타항목의 경우에는 Null인 경우가 있드라구요.

 

D.2019-09-03 V.165