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)
登錄后復制
以上就是MySQL CAST 如何處理溢出?的詳細內容,更多請關注www.92cms.cn其它相關文章!