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

MySQLでint型の数値を通貨形式に変換する方法|CONCAT()とFORMAT()関数の使い方

MySQLでint型(整数)のカラムを通貨形式として表示したい場合、CONCAT()関数とFORMAT()関数を組み合わせることで簡単に実現できます。通貨記号付きで桁区切りされた見やすい形式に整形できるため、レポートや管理画面などでの表示に便利です。

基本構文

int型の値を通貨形式に変換する際の基本構文は以下の通りです。

SELECT CONCAT('通貨記号', FORMAT(対象カラム名, 小数点以下の桁数)) AS 表示名 FROM テーブル名;

FORMAT()関数は数値を3桁ごとのカンマ区切りに整形し、第2引数で小数点以下の桁数を指定します。さらにCONCAT()関数で通貨記号を先頭に連結することで、通貨形式の文字列を作成できます。

サンプルテーブルの作成

実際に動作を確認するため、テスト用のテーブルを作成しましょう。テーブル作成クエリは次の通りです。

mysql> create table AddingCurrencySymbolDemo
   -> (
   -> Amount int
   -> );
Query OK, 0 rows affected (1.50 sec)

ここでは「Amount」というint型のカラムを持つ「AddingCurrencySymbolDemo」テーブルを作成しました。

データの挿入

INSERTコマンドを使ってサンプルデータを登録します。

mysql> insert into AddingCurrencySymbolDemo values(250);
Query OK, 1 row affected (0.22 sec)

mysql> insert into AddingCurrencySymbolDemo values(500);
Query OK, 1 row affected (0.22 sec)

mysql> insert into AddingCurrencySymbolDemo values(1000);
Query OK, 1 row affected (0.16 sec)

mysql> insert into AddingCurrencySymbolDemo values(750);
Query OK, 1 row affected (0.18 sec)

登録データの確認

SELECT文ですべてのレコードを表示して確認します。

mysql> select *from AddingCurrencySymbolDemo;

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

+--------+
| Amount |
+--------+
|    250 |
|    500 |
|   1000 |
|    750 |
+--------+
4 rows in set (0.00 sec)

int型を通貨形式に変換するクエリ

それでは、FORMAT()関数とCONCAT()関数を使って、Amountカラムの値をドル($)表記の通貨形式に変換してみましょう。小数点以下が不要な場合は第2引数に「0」を指定します。

mysql> select concat('$',format(Amount,0)) as AddedCurrency from AddingCurrencySymbolDemo;

実行結果は以下の通りです。数値が通貨形式で表示されていることが確認できます。

+---------------+
| AddedCurrency |
+---------------+
| $250          |
| $500          |
| $1,000        |
| $750          |
+---------------+
4 rows in set (0.00 sec).

補足:日本円や他の通貨に対応させる場合

CONCAT()の第1引数を変更すれば、任意の通貨記号に対応できます。例えば日本円の場合は「'¥'」を指定します。また、消費税計算などで小数点以下が必要な場合は、FORMAT(Amount, 2)のように桁数を変更してください。なお、FORMAT()関数は文字列を返すため、この方法はあくまで「表示用の変換」である点に注意しましょう。金額自体はint型やDECIMAL型で保持し、表示時にのみフォーマットするのが一般的な設計です。

  1. MySQLでYYYY-MM-DDを「日 月名, 年」形式に変換するクエリの書き方

    MySQLでは、DATE_FORMAT()関数を使うことで、保存されている日付データを任意の表示形式に変換できます。この記事では、「YYYY-MM-DD」形式(例:2018-01-21)の日付を「DD Month, YYYY」形式(例:21 January, 2018)に変換する方法を、実際のサンプルコードと実行結果をもとにわかりやすく解説します。1. サンプルテーブルの作成まず、日付型(DATE型)のカラムを持つテーブルを作成します。mysql> create table DemoTable845(AdmissionDate date);Query OK, 0 rows affecte

  2. MySQLの「SELECT TRUE」とは?意味と使い方を解説

    MySQLにおける「SELECT TRUE」の基本MySQLでは、SELECT TRUEというステートメントを実行すると、条件に一致する行ごとに「1」が返されます。これは、MySQLにおいてTRUE(真)という論理値が内部的に整数の「1」として扱われているためです。逆にFALSE(偽)は「0」に相当します。この記事では、実際にテーブルを作成し、SELECT TRUEがどのような結果を返すのかを具体的な例で確認していきます。検証用テーブルの作成まず、以下のコマンドでサンプルテーブルを作成します。mysql> create table DemoTable(Name varchar(100))