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)

更新於:30-Jan-2020

211 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.