MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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に変更しました。


  1. 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

  2. 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),(