MySQL의 CONCAT() 함수는 문자열뿐만 아니라 숫자 인수도 함께 전달할 수 있습니다. 특히 숫자를 전달할 때는 따옴표 없이 그대로 작성해도 정상적으로 동작합니다.
숫자 인수만 전달하는 경우
아래 예제처럼 두 개의 숫자를 CONCAT() 함수에 전달하면, 각 숫자가 문자열로 변환된 후 하나의 문자열로 연결되어 반환됩니다.
mysql> SELECT CONCAT(10, 20); +----------------+ | CONCAT(10, 20) | +----------------+ | 1020 | +----------------+ 1 row in set (0.00 sec)
결과를 보면 숫자 10과 20이 그대로 이어져 '1020'이라는 하나의 문자열로 출력된 것을 확인할 수 있습니다.
문자열과 숫자를 함께 전달하는 경우
CONCAT() 함수에는 문자열 인수와 숫자 인수를 혼합하여 전달할 수도 있습니다. 아래 예제에서는 도시 이름과 우편번호를 연결해 보겠습니다.
mysql> SELECT CONCAT('DELHI ', 110006) AS 'City PIN CODE';
+----------------+
| City PIN CODE |
+----------------+
| DELHI 110006 |
+----------------+
1 row in set (0.00 sec)이처럼 문자열 'DELHI'와 숫자 110006을 전달했음에도 오류 없이 'DELHI 110006'이라는 결과가 반환됩니다.
정리
CONCAT() 함수는 내부적으로 모든 인수를 문자열로 변환한 뒤 연결하기 때문에, 숫자 인수를 따옴표 없이 전달해도 문제없이 처리됩니다. 다만 결과값은 항상 문자열 타입으로 반환된다는 점을 기억해 두는 것이 좋습니다.