MySQLで文字列(varchar)をdouble型に変換する方法
MySQLでは、varchar型のカラムに保存された数値形式の文字列を、簡単な演算によってdouble(浮動小数点数)として扱うことができます。この記事では、テーブルの作成から変換クエリの実行まで、手順を追って解説します。
1. サンプルテーブルの作成
まず、変換元となるテーブルを作成します。
mysql> create table DemoTable731 (Value varchar(100)); Query OK, 0 rows affected (0.50 sec)
2. レコードの挿入
insertコマンドを使って、数値形式の文字列をいくつか登録します。
mysql> insert into DemoTable731 values('4.50');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable731 values('7.83');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable731 values('8.91');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable731 values('560.34');
Query OK, 1 row affected (0.21 sec)
3. 登録データの確認
select文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable731;
以下のような出力が得られます。現時点ではすべて文字列(varchar)として保存されています。
+--------+ | Value | +--------+ | 4.50 | | 7.83 | | 8.91 | | 560.34 | +--------+ 4 rows in set (0.00 sec)
4. 文字列をdoubleに変換するクエリ
文字列をdoubleに変換する最もシンプルな方法は、0.0を加算することです。MySQLは算術演算の際に文字列を自動的に数値として評価するため、これだけで浮動小数点数として取得できます。
mysql> select Value+0.0 AS demo from DemoTable731;
実行結果は次のとおりです。「4.50」が「4.5」として返されている点に注目してください。末尾の余分なゼロが取り除かれ、数値として処理されています。
+-----------+ | demo | +-----------+ | 4.5 | | 7.83 | | 8.91 | | 560.34 | +-----------+ 4 rows in set (0.28 sec)
補足:CAST関数を使った明示的な変換
より明示的に型変換を行いたい場合は、CAST関数を使用する方法もあります。MySQLではDOUBLE型への直接キャストはサポートされていないため、小数を保持したい場合はDECIMAL型へキャストするのが一般的です。
mysql> SELECT CAST(Value AS DECIMAL(10,2)) AS demo FROM DemoTable731;
このように、+0.0による暗黙的な変換か、CASTによる明示的な変換のどちらかを選ぶことで、varchar型の数値文字列を柔軟に数値計算へ活用できます。ソートや集計を行う際にも、数値として変換しておくことで意図した通りの結果が得られます。
-
JavaでDoubleをStringに変換する4つの方法
Javaでは、プリミティブ型の double やラッパークラスの Double の値を、文字列(String)に変換するための方法がいくつか用意されています。この記事では、代表的な4つの手法について、コード例と実行結果とあわせてわかりやすく解説します。 1. DoubleクラスのtoString()メソッド toString() は、現在のDoubleオブジェクトが保持している値を文字列形式で返すメソッドです。Double値をStringに変換するには、以下の手順を実行します。 必要なdouble値をDouble型の参照変数に代入する(自動的にオートボクシングが行われます)。 toStr
-
Javaで文字列をdouble型に変換する方法【parseDoubleの使い方】
Javaで文字列をdouble型に変換するには、DoubleクラスのparseDouble()メソッドを使用します。このメソッドは、数値形式の文字列を引数として受け取り、対応するdouble型の値を返します。 例えば、次のような文字列があったとします。 String str = "55.2"; この文字列をdouble型に変換するには、以下のようにparseDouble()を呼び出します。 double res = Double.parseDouble(str); サンプルプログラム 以下は、Javaで文字列をDoubleに変換する完全なプログラム例です。 public