#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 サイトの他の関連記事を参照してください。