따옴표로 묶인 두 숫자를 더하려고 한다는 것은, 곧 문자열을 숫자로 취급하겠다는 의미입니다. 이 경우 MySQL은 해당 문자열 값을 가장 가까운 숫자 값으로 자동 변환한 뒤 산술 연산을 수행하고 그 결과를 반환합니다.
MySQL의 암시적 타입 변환(implicit type conversion) 덕분에 별도의 형 변환 함수 없이도 문자열 형태의 숫자를 바로 계산에 사용할 수 있습니다.
예제
mysql> Select '1525' + '200' As Total; +-------+ | Total | +-------+ | 1725 | +-------+ 1 row in set (0.00 sec)
위 예제에서 '1525'와 '200'은 모두 따옴표로 묶인 문자열이지만, MySQL이 이를 각각 숫자 1525와 200으로 변환하여 더한 결과 1725가 출력된 것을 확인할 수 있습니다.
참고 사항
만약 문자열이 유효한 숫자 형식이 아니라면(예: 'abc'), MySQL은 해당 값을 0으로 변환하여 계산하며, 경우에 따라 경고(warning)가 발생할 수 있습니다. 따라서 실무에서는 데이터 타입을 명확히 하여 사용하는 것이 좋습니다.