MySQLでVARCHARからINTにキャストする方法は?
VARCHARをINTにキャストするには、MySQLのcast()関数を使用できます。 cast()関数の構文は次のとおりです。
cast(anyValue as dataType)
この例では、createコマンドを使用してテーブルを作成します。
mysql> create table VarchartointDemo -> ( -> Value varchar(100) -> ); Query OK, 0 rows affected (0.51 sec)
テーブルを作成したら、INSERTコマンドを使用していくつかのレコードをテーブルに挿入しましょう。クエリは次のとおりです-
mysql> insert into VarchartointDemo values('123'); Query OK, 1 row affected (0.26 sec) mysql> insert into VarchartointDemo values('234'); Query OK, 1 row affected (0.16 sec)>
selectステートメントを使用してすべてのレコードを表示します。
mysql> select *from VarchartointDemo;
以下は出力です。
+-------+ | Value | +-------+ | 123 | | 234 | +-------+ 2 rows in set (0.00 sec)
次の構文を使用して、varcharをintにキャストします。
SELECT CAST(yourColumnName AS anyDataType) FROM yourTableName;
上記の構文を適用して、varcharをintにキャストします。
mysql> SELECT CAST(Value AS UNSIGNED) FROM VarchartointDemo;
以下は出力です。
+-------------------------+ | CAST(Value AS UNSIGNED) | +-------------------------+ | 123 | | 234 | +-------------------------+ 2 rows in set (0.00 sec)
上記の出力を見てください。varcharをintに変更しました。
-
MySQL CASTはどのようにオーバーフローを処理できますか?
MySQL CASTは、数値式の評価中に発生するオーバーフローを処理できます。数値式の評価でオーバーフローが発生した場合、MySQLはエラーメッセージを反映するとします。このオーバーフローを処理するために、CASTを使用してその数値をUNSIGNEDに変更できます。 たとえば、BIGINTの最大値に1を追加すると、MySQLは次のようにオーバーフローが原因でエラーを生成します- mysql> Select 9223372036854775807 + 1; ERROR 1690 (22003): BIGINT value is out of range in '(922337203
-
MySQLから最後の10行を選択するにはどうすればよいですか?
MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(