Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

MySQL CAST xử lý tràn số như thế nào?

MySQL CAST có thể xử lý tràn số xảy ra trong đánh giá biểu thức số học. Giả sử nếu đánh giá biểu thức số sinh ra tràn số, MySQL phản ánh thông báo lỗi. Bây giờ để xử lý tràn số này, chúng ta có thể chuyển giá trị số đó sang UNSIGNED với sự giúp đỡ của CAST.

Ví dụ, khi cộng 1 vào giá trị BIGINT tối đa, MySQL sinh lỗi do tràn số như sau:

mysql> SELECT 9223372036854775807 + 1;
ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)'

Bây giờ, với sự giúp đỡ của CAST, MySQL xử lý loại tràn số này như sau:

mysql> SELECT CAST(9223372036854775807 AS UNSIGNED) + 1;
+------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) +1 |
+------------------------------------------+
| 9223372036854775808                      |
+------------------------------------------+
1 row in set (0.07 sec)