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)
-
MySQLで非ASCII文字を見つけるにはどうすればよいですか?
非ASCII文字は、ポンド記号(£)、商標記号、プラスマイナス記号などの文字です。表から非ASCII文字を見つけるには、次の手順が必要です- 最初に、次のように指定されたcreateコマンドを使用してテーブルが作成されます- mysql> CREATE table NonASciiDemo -> ( -> NonAScii varchar(100) -> ); Query OK, 0 rows affected (0.61 sec) その後、次のような挿入コマンドを使用して、レコードがテーブルに挿入されます- mysql> INSERT into NonASc
-
MySQLでDATETIMEをDATEとしてキャストする方法は?
MySQLでDATETIMEをDATEとしてキャストするには、CAST()関数を使用します。構文は次のとおりです- select cast(yourColumnName as Date) as anyVariableName from yourTableName; 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table ConvertDatetimeToDate −> ( −> YourDatetime datetime −> ); Query OK, 0 ro