MySQL CAST 如何处理溢出?
MySQL CAST 可以处理数字表达式评估期间发生的溢出。假设数字表达式评估产生溢出,则 MySQL 会显示错误消息。现在,为了处理此溢出,我们可以借助 CAST 将该数字值更改为 UNSIGNED。
例如,向 BIGINT 最大值添加 1 时,MySQL 会因溢出而产生错误,如下所示:
mysql> Select 9223372036854775807 + 1; ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807+1)'
现在,借助 CAST,MySQL 会处理此类溢出,如下所示:
mysql> Select CAST(9223372036854775807 AS UNSIGNED) +1; +------------------------------------------+ | CAST(9223372036854775807 AS UNSIGNED) +1 | +------------------------------------------+ | 9223372036854775808 | +------------------------------------------+ 1 row in set (0.07 sec)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP