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

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句でエイリアスを指定するとよいでしょう。
  1. MySQLでGROUP BYを使ってグループ化し合計(SUM)を求める方法

    MySQLで合計を求めるには、集計関数SUM()を使用します。さらにGROUP BY句と組み合わせることで、特定のカラムごとにデータをグループ化し、それぞれのグループの合計値を取得できます。この記事では、商品名ごとに「数量 × 価格」の合計を求める例を通じて、GROUP BYとSUM()の基本的な使い方を解説します。 1. サンプルテーブルの作成 まず、以下のようにテーブルを作成します。 mysql> create table DemoTable -> ( -> ProductName varchar(20), -> ProductQuant

  2. MySQLのSELECT文にワイルドカードを追加する方法(CONCAT関数の活用)

    MySQLでSELECT文にワイルドカードを追加するには?MySQLで部分一致検索を行いたい場合、CONCAT()関数を使ってLIKE句にワイルドカード(%)を動的に追加する方法が便利です。値の前後に「%」を連結することで、文字列の一部分だけでも検索できるようになります。基本構文ワイルドカードを追加して検索する場合、基本的な構文は以下の通りです。SELECT * FROM テーブル名 WHERE カラム名 LIKE CONCAT(%, 検索値, %);この書き方により、指定した値がカラム内のどこに含まれていても(前方・中間・後方)ヒットするようになります。サンプルテーブルの作成まず、動作を確認