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

MySQL에서 따옴표로 묶인 숫자 앞에 숫자가 아닌 텍스트가 있을 때 덧셈은 어떻게 평가될까?

따옴표로 묶인 문자열 안에서 숫자 앞에 'Kg', 'Oz'처럼 숫자가 아닌 텍스트가 포함된 경우, MySQL은 해당 숫자의 값을 단순히 0으로 평가합니다. 즉, 덧셈 연산 시 숫자가 아닌 텍스트가 앞에 붙어 있으면 그 값은 무시되고 0으로 처리됩니다.

아래 예시를 통해 이러한 동작 방식을 쉽게 확인할 수 있습니다.

예시

mysql> Select 'Kg 1525' + 'Oz 200' As Total;
+-------+
| Total |
+-------+
| 0     |
+-------+
1 row in set, 2 warnings (0.00 sec)

mysql> Select 'Kg 1525' + '200' As Total;
+-------+
| Total |
+-------+
| 200   |
+-------+
1 row in set, 1 warning (0.00 sec)

결과 분석

첫 번째 쿼리에서는 두 피연산자('Kg 1525', 'Oz 200') 모두 숫자 앞에 텍스트가 포함되어 있으므로 각각 0으로 평가되어 최종 결과가 0이 됩니다.

반면 두 번째 쿼리에서는 한쪽 피연산자('200')가 순수한 숫자이므로 정상적으로 200으로 인식되고, 'Kg 1525'만 0으로 평가되어 결과가 200이 됩니다. 또한 경고(warnings) 개수에서도 차이를 확인할 수 있는데, 텍스트가 포함된 값이 많을수록 발생하는 경고도 함께 늘어납니다.