본문 바로가기

Programming!

MySQL Concat 문제 아닌 문제.


UTF-8 의 TABLE 구조가 3개의 컬럼을 가지며 데이터가 다음과 같을때

NAME(VARCHAR) | ID(VARCHAR) | NO(INT)
김현기 | eclipse4j | 1

SELECT CONCAT( NAME, ID) FROM ..

이렇게 하면 한글이 깨질까요? 안깨지고 잘나옵니다. 그러나

SELECT CONCAT( NAME, ID, NO) FROM ..

이렇게 하면?


깨집니다.

'문자열 + 문자열 + 숫자' 의 형태로 인한 문제인듯 합니다. MySQL GUI 나 SQLYog에서는 정상적으로 나오는데요. JDBC를 통한 정보 호출시 깨지더군요. 버전 문제는 딱히 아닌듯.

그래서 이렇게 하면 됩니다.

SELECT CONCAT( NAME, ID, CAST( NO AS CHAR) ) FROM ..