Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 정확한 값 산술은 어떻게 오버플로를 처리할 수 있습니까?

<시간/>

MySQL의 정확한 값 산술은 피연산자의 범위에 따라 오버플로가 발생하기 때문에 수치 표현식 평가 중에 발생하는 오버플로를 처리할 수 있습니다. 산술 표현식에 사용된 값을 다른 데이터 유형으로 변경하면 오버플로를 방지할 수 있습니다.

예를 들어, BIGINT 최대값을 DECIMAL로 변환하고 여기에 1을 추가하면 다음과 같이 오버플로를 처리할 수 있습니다. -

mysql> Select 9223372036854775807.0 + 1;
+---------------------------+
| 9223372036854775807.0 + 1 |
+---------------------------+
| 9223372036854775808.0     |
+---------------------------+
1 row in set (0.01 sec)