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 如何處理溢出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!