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 関数を組み合わせれば、表示時に通貨記号を付与することも簡単に行えます。
-
macOSに最適な無料VPNおすすめ4選|安全で使いやすいサービスを徹底比較
macOS向けの無料VPNの多くは、実際にインストールして使ってみると、宣伝文句ほどの性能を発揮できません。動作が遅かったり、広告だらけだったりと、むしろ保護どころか脅威になりかねません。そこで今回は、さまざまなプロバイダーを実際にテストしたうえで、Macユーザーにとって安全かつ快適に使える厳選4本のVPNをご紹介します。 以下の選択肢がご自身のニーズに合わない場合は、市場にある他のサービスを自由に探してみてください。その際の参考として、Macに最適なVPNを選ぶための判断基準もあわせて解説します。 ProtonVPN:無料で無制限データが使える総合力No.1 ProtonVPNは、無制限の帯
-
PCにおすすめの無料VPN4選!用途別に最適な1本を徹底解説
より安全でプライベートなインターネット閲覧環境を求めている方も、地域制限(ジオブロック)されたコンテンツや価格差を回避したい方も、VPNは強力な味方になってくれます。しかし、「毎月の予算で信頼できる有料VPNを契約するのは厳しい…」という方もご安心ください。多くの有名VPNプロバイダーは、機能こそ制限されているものの、オンラインでの安全性確保や位置情報の偽装には十分役立つフリーミアム版(無料プラン)を提供しています。そこで今回は、ニーズに合わせて選べるPC向け無料VPNのおすすめを紹介します。1. Windscribe VPNWindscribeはカナダ発のVPNサービスで、Windows・m