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

MySQLのFORMAT()関数で米ドル通貨レコードを正しい形式で表示する方法


MySQLで米ドル(USD)通貨のレコードを読みやすい形式で表示するには、FORMAT()関数を使用します。本記事では、実際にテーブルを作成し、金額データを「USD 90,948,484.00」のような正式な通貨表記に整形する手順を解説します。

1. サンプルテーブルの作成

まず、金額を格納するための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()関数で通貨形式に整形する

ここからが本題です。CONCAT()関数で接頭辞「USD」を連結し、FORMAT()関数で小数点以下2桁・3桁ごとのカンマ区切りに整形することで、通貨らしい表示になります。

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

実行結果は以下の通りです。金額が「USD」付きの正しい通貨形式で表示されていることが確認できます。

+----------------------+
| 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)

ポイント解説

FORMAT(X, D)関数は、数値Xを小数点以下D桁に丸め、3桁ごとにカンマを挿入した文字列を返します。なお、戻り値は文字列型になるため、ORDER BYによるソートや数値計算にそのまま使うと意図した結果にならない場合があります。あくまで画面表示用のフォーマットとして活用するのがおすすめです。


  1. MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方

    MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ

  2. MySQLのREGEXPでアルファベットを含むレコードのみを抽出する方法|数字のみのレコードを除外

    MySQLのREGEXPで文字を含むレコードのみを表示する方法MySQLでは、文字列と数値が混在するカラムから、アルファベットを含むレコードだけを抽出し、数字のみのレコードを除外したいケースがあります。このような場合には、REGEXP演算子を使用すると簡単に実現できます。基本構文REGEXPを使った基本的な構文は以下の通りです。select yourColumnName from yourTableName where yourColumnName REGEXP [a-zA-Z];サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table d