ホームページ  >  記事  >  データベース  >  MySQL CAST はオーバーフローをどのように処理しますか?

MySQL CAST はオーバーフローをどのように処理しますか?

WBOY
WBOY転載
2023-09-07 22:17:11921ブラウズ

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)'

さて、MySQL は CAST の助けを借りて、これを次のように処理します。オーバーフロー:

mysql> Select CAST(9223372036854775807 AS UNSIGNED) +1;

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

以上がMySQL CAST はオーバーフローをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。