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型で保持し、表示時にのみフォーマットするのが一般的な設計です。
-
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
-
MySQLの「SELECT TRUE」とは?意味と使い方を解説
MySQLにおける「SELECT TRUE」の基本MySQLでは、SELECT TRUEというステートメントを実行すると、条件に一致する行ごとに「1」が返されます。これは、MySQLにおいてTRUE(真)という論理値が内部的に整数の「1」として扱われているためです。逆にFALSE(偽)は「0」に相当します。この記事では、実際にテーブルを作成し、SELECT TRUEがどのような結果を返すのかを具体的な例で確認していきます。検証用テーブルの作成まず、以下のコマンドでサンプルテーブルを作成します。mysql> create table DemoTable(Name varchar(100))