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

MySQLで通貨形式を表示する方法:FORMAT()関数の使い方を解説

MySQLで通貨形式を設定する方法

MySQLでは、FORMAT()関数を使うことで、数値データを通貨として見やすい形式に整形して表示できます。この記事では、実際にテーブルを作成し、金額データを「USD 90,948,484.00」のような通貨表記へ変換する手順を、サンプルコード付きでわかりやすく解説します。

1. サンプルテーブルを作成する

まず、金額を格納するためのテーブルを作成します。ここでは、小数点以下4桁まで保持できるDECIMAL型を使用します。

mysql> create table DemoTable
    -> (
    -> Amount DECIMAL(15,4)
    -> );
Query OK, 0 rows affected (0.75 sec)

2. レコードを挿入する

INSERT文を使って、サンプルデータをいくつか登録します。

mysql> insert into DemoTable values(90948484);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(1000000000);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(1535353536);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values(773646463);
Query OK, 1 row affected (0.20 sec)

3. 登録したデータを確認する

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

mysql> select *from DemoTable;

実行結果は以下のとおりです。現時点では、金額がそのままの数値で表示されています。

+-----------------+
| Amount          |
+-----------------+
| 90948484.0000   |
| 1000000000.0000 |
| 1535353536.0000 |
| 773646463.0000  |
+-----------------+
4 rows in set (0.00 sec)

4. FORMAT()関数で通貨形式に変換する

ここからが本題です。FORMAT()関数とCONCAT()関数を組み合わせることで、金額を通貨表記に変換できます。

mysql> select concat('USD ',format(Amount,2)) as Currency from DemoTable;

実行すると、以下のようにUSDの通貨レコードが正しい形式で表示されます。FORMAT()関数の第2引数に「2」を指定することで小数点以下2桁に丸められ、3桁ごとのカンマ区切りも自動的に付与されます。

+----------------------+
| Currency             |
+----------------------+
| USD 90,948,484.00    |
| USD 1,000,000,000.00 |
| USD 1,535,353,536.00 |
| USD 773,646,463.00   |
+----------------------+
4 rows in set (0.23 sec)

まとめ

MySQLで金額データを通貨として表示したい場合は、FORMAT()関数が非常に便利です。カンマ区切りや小数点以下の桁数指定が簡単に行えるため、レポートや管理画面での表示に活用できます。ただし、FORMAT()関数は戻り値が文字列になるため、そのまま集計や計算には使用できない点に注意しましょう。計算が必要な場合は元のDECIMAL型の列を使い、表示時にのみFORMAT()関数を適用するのがおすすめです。

  1. MySQLのUPDATE文で1つのクエリを使って複数のレコードを更新する方法

    MySQLでは、UPDATEステートメントを使うことで、1つのクエリで複数のカラムや複数のレコードの値をまとめて更新できます。この記事では、実際にサンプルテーブルを作成し、UPDATE文でデータを更新する具体的な手順を解説します。サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable     -> (     -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    &

  2. MySQLで複数のレコードをすばやく一括挿入するクエリの書き方

    MySQLで複数のレコードを効率よく挿入したい場合、INSERT文を何度も実行するのではなく、1つのINSERT文で複数行をまとめて指定するのがおすすめです。この方法ならデータベースとの通信回数が減り、処理速度が大幅に向上します。 基本構文 複数のレコードをすばやく挿入するには、単一のINSERT文を使い、以下の構文に従います。 insert into yourTableName values(yourValue1,yourValue2,...N),(yourValue1,yourValue2,...N).....N; ポイントは、各行の値セットをカンマ(,)で区切って並べるだけというシンプル