MySQLのSELECTでドット(小数点)をカンマに置き換える方法
MySQLでSELECT文の実行結果に含まれるドット(小数点)をカンマに置き換えたい場合は、REPLACE()関数を使用します。REPLACE()は文字列内の指定した文字を別の文字に置換する便利な関数で、数値型のカラムに対しても適用できます。
基本構文
ドットをカンマに置き換える基本的な構文は以下のとおりです。
SELECT REPLACE(カラム名, '.', ',') FROM テーブル名;
サンプルテーブルの作成
まず、動作確認用のテーブルを作成しましょう。ここではFLOAT型のカラムを持つテーブルを定義します。
mysql> CREATE TABLE DemoTable
(
Value FLOAT
);
Query OK, 0 rows affected (0.63 sec)レコードの挿入
INSERTコマンドを使って、小数点を含む数値データを複数件登録します。
mysql> INSERT INTO DemoTable VALUES(4.56); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO DemoTable VALUES(456.23); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable VALUES(1078.3); Query OK, 1 row affected (0.22 sec) mysql> INSERT INTO DemoTable VALUES(2000.50); Query OK, 1 row affected (0.26 sec) mysql> INSERT INTO DemoTable VALUES(78.99); Query OK, 1 row affected (0.16 sec)
登録データの確認
SELECTコマンドでテーブルの中身を確認してみます。
mysql> SELECT * FROM DemoTable;
実行すると、次のような結果が表示されます。
+--------+ | Value | +--------+ | 4.56 | | 456.23 | | 1078.3 | | 2000.5 | | 78.99 | +--------+ 5 rows in set (0.00 sec)
ドットをカンマに置き換えるクエリ
それでは、SELECT時にREPLACE()関数を使ってドットをカンマに変換してみましょう。
mysql> SELECT REPLACE(Value,'.',',') FROM DemoTable;
実行結果は以下のとおりです。すべての小数点がカンマに置き換わっていることが確認できます。
+------------------------+ | replace(Value,'.',',') | +------------------------+ | 4,56 | | 456,23 | | 1078,3 | | 2000,5 | | 78,99 | +------------------------+ 5 rows in set (0.07 sec)
補足ポイント
- REPLACE()関数は元のテーブルのデータを変更するわけではなく、表示結果のみを置き換えます。元データを更新したい場合はUPDATE文と組み合わせてください。
- ヨーロッパ諸国など、小数点記号としてカンマを使用するロケール向けにデータを出力する際に便利なテクニックです。
- 見出し(カラム名)も読みやすくしたい場合は、「SELECT REPLACE(Value,'.',',') AS formatted_value」のようにAS句でエイリアスを指定するとよいでしょう。
-
MySQLでGROUP BYを使ってグループ化し合計(SUM)を求める方法
MySQLで合計を求めるには、集計関数SUM()を使用します。さらにGROUP BY句と組み合わせることで、特定のカラムごとにデータをグループ化し、それぞれのグループの合計値を取得できます。この記事では、商品名ごとに「数量 × 価格」の合計を求める例を通じて、GROUP BYとSUM()の基本的な使い方を解説します。 1. サンプルテーブルの作成 まず、以下のようにテーブルを作成します。 mysql> create table DemoTable -> ( -> ProductName varchar(20), -> ProductQuant
-
MySQLのSELECT文にワイルドカードを追加する方法(CONCAT関数の活用)
MySQLでSELECT文にワイルドカードを追加するには?MySQLで部分一致検索を行いたい場合、CONCAT()関数を使ってLIKE句にワイルドカード(%)を動的に追加する方法が便利です。値の前後に「%」を連結することで、文字列の一部分だけでも検索できるようになります。基本構文ワイルドカードを追加して検索する場合、基本的な構文は以下の通りです。SELECT * FROM テーブル名 WHERE カラム名 LIKE CONCAT(%, 検索値, %);この書き方により、指定した値がカラム内のどこに含まれていても(前方・中間・後方)ヒットするようになります。サンプルテーブルの作成まず、動作を確認