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

MySQLで金額(通貨)を扱うならDECIMAL型一択!正しい使い方を実例付きで解説

MySQLで金額(通貨)のデータを扱う場合、最も推奨されるデータ型は DECIMAL 型です。FLOAT や DOUBLE のような浮動小数点型は誤差が発生する可能性があるため、正確な金額計算が必要な場面では DECIMAL 型を使うのがベストプラクティスとされています。

DECIMAL型の基本構文

DECIMAL 型は、全体の桁数と小数点以下の桁数を指定して定義します。構文は以下の通りです。

DECIMAL(総桁数, 小数点以下の桁数);

サンプルテーブルの作成

それでは、実際にテーブルを作成して動作を確認してみましょう。以下のクエリでテーブルを作成します。

mysql> create table CurrenciesDemo
    -> (
    -> TotalPrice DECIMAL(10,2)
    -> );
Query OK, 0 rows affected (1.82 sec)

この例では DECIMAL(10,2) と指定しているため、整数部分が最大8桁、小数部分が2桁の金額を格納できます。

レコードの挿入

次に、INSERT コマンドを使っていくつかのレコードを挿入します。

mysql> insert into CurrenciesDemo values(1647575.67);
Query OK, 1 row affected (0.19 sec)

mysql> insert into CurrenciesDemo values(1647575);
Query OK, 1 row affected (0.21 sec)

mysql> insert into CurrenciesDemo values(99599596);
Query OK, 1 row affected (0.13 sec)

mysql> insert into CurrenciesDemo values(1986.50);
Query OK, 1 row affected (0.23 sec)

mysql> insert into CurrenciesDemo values(99999999.90);
Query OK, 1 row affected (0.17 sec)

小数点以下のない値を挿入した場合でも、自動的に「.00」が補完されて格納される点に注目してください。

登録データの確認

SELECT 文ですべてのレコードを表示してみましょう。

mysql> select *from CurrenciesDemo;

実行結果は以下の通りです。

+-------------+
| TotalPrice  |
+-------------+
| 1647575.67  |
| 1647575.00  |
| 99599596.00 |
| 1986.50     |
| 99999999.90 |
+-------------+
5 rows in set (0.00 sec)

通貨記号(ドル)を付けて表示する

続いて、CONCAT 関数を使って、金額の先頭にドル記号($)を付けて表示する方法を見てみましょう。

mysql> select concat('$',TotalPrice) as DollarSign from CurrenciesDemo;

実行結果は以下の通りです。

+--------------+
| DollarSign   |
+--------------+
| $1647575.67  |
| $1647575.00  |
| $99599596.00 |
| $1986.50     |
| $99999999.90 |
+--------------+
5 rows in set (0.00 sec)

まとめ

MySQLで金額を扱う際は、誤差のない正確な計算が可能な DECIMAL 型 を使用しましょう。DECIMAL(10,2) のように桁数を明示的に指定することで、小数点以下2桁の金額を確実に格納できます。また、CONCAT 関数を組み合わせれば、表示時に通貨記号を付与することも簡単に行えます。

  1. macOSに最適な無料VPNおすすめ4選|安全で使いやすいサービスを徹底比較

    macOS向けの無料VPNの多くは、実際にインストールして使ってみると、宣伝文句ほどの性能を発揮できません。動作が遅かったり、広告だらけだったりと、むしろ保護どころか脅威になりかねません。そこで今回は、さまざまなプロバイダーを実際にテストしたうえで、Macユーザーにとって安全かつ快適に使える厳選4本のVPNをご紹介します。 以下の選択肢がご自身のニーズに合わない場合は、市場にある他のサービスを自由に探してみてください。その際の参考として、Macに最適なVPNを選ぶための判断基準もあわせて解説します。 ProtonVPN:無料で無制限データが使える総合力No.1 ProtonVPNは、無制限の帯

  2. PCにおすすめの無料VPN4選!用途別に最適な1本を徹底解説

    より安全でプライベートなインターネット閲覧環境を求めている方も、地域制限(ジオブロック)されたコンテンツや価格差を回避したい方も、VPNは強力な味方になってくれます。しかし、「毎月の予算で信頼できる有料VPNを契約するのは厳しい…」という方もご安心ください。多くの有名VPNプロバイダーは、機能こそ制限されているものの、オンラインでの安全性確保や位置情報の偽装には十分役立つフリーミアム版(無料プラン)を提供しています。そこで今回は、ニーズに合わせて選べるPC向け無料VPNのおすすめを紹介します。1. Windscribe VPNWindscribeはカナダ発のVPNサービスで、Windows・m