Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL CONCAT() 함수에 숫자 인수를 전달하면 어떤 값이 반환될까?

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() 함수는 내부적으로 모든 인수를 문자열로 변환한 뒤 연결하기 때문에, 숫자 인수를 따옴표 없이 전달해도 문제없이 처리됩니다. 다만 결과값은 항상 문자열 타입으로 반환된다는 점을 기억해 두는 것이 좋습니다.