MySQLで数値の末尾のゼロを削除する方法
MySQLで末尾のゼロを削除するには?
MySQLでは、trim()関数を使うことで、数値の末尾に付く余分なゼロ(後続ゼロ)を削除できます。基本の構文は以下のとおりです。
select trim(yourColumnName)+0 As anyAliasName from yourTableName;
ポイントは、trim()関数の結果に「+0」を加えることです。これにより値が数値として再評価され、小数点以下の不要なゼロが自動的に取り除かれます。
サンプルテーブルの作成
まず、動作確認用のテーブルを作成しましょう。
mysql> create table removeTrailingZero
-> (
-> Number DECIMAL(10,4)
-> );
Query OK, 0 rows affected (0.83 sec)
ここでは、小数点第4位まで格納できる DECIMAL(10,4) 型のカラムを持つテーブルを作成しています。
レコードの挿入
次に、insertコマンドを使っていくつかのレコードを挿入します。
mysql> insert into removeTrailingZero values(10.789);
Query OK, 1 row affected (0.19 sec)
mysql> insert into removeTrailingZero values(89.90);
Query OK, 1 row affected (0.18 sec)
mysql> insert into removeTrailingZero values(8999.70);
Query OK, 1 row affected (0.20 sec)
mysql> insert into removeTrailingZero values(0.40);
Query OK, 1 row affected (0.23 sec)
mysql> insert into removeTrailingZero values(0.0);
Query OK, 1 row affected (0.16 sec)
登録データの確認
select文ですべてのレコードを表示してみましょう。
mysql> select * from removeTrailingZero;
実行結果は以下のとおりです。
+-----------+
| Number |
+-----------+
| 10.7890 |
| 89.9000 |
| 8999.7000 |
| 0.4000 |
| 0.0000 |
+-----------+
5 rows in set (0.00 sec)
ご覧のとおり、DECIMAL(10,4) 型で定義しているため、すべての値が小数点以下4桁で表示され、意味のない末尾のゼロが付いています。
末尾のゼロを削除するクエリ
それでは、trim()関数を使って末尾のゼロを削除してみましょう。
mysql> select trim(Number)+0 As WithoutTrailingZero from removeTrailingZero;
実行結果は以下のとおりです。
+---------------------+
| WithoutTrailingZero |
+---------------------+
| 10.789 |
| 89.9 |
| 8999.7 |
| 0.4 |
| 0 |
+---------------------+
5 rows in set (0.00 sec)
このように、「10.7890」は「10.789」に、「89.9000」は「89.9」に変換され、無駄な末尾のゼロがきれいに除去されました。整数となる「0.0000」は単に「0」と表示されます。
補足:「+0」を付ける理由
trim()関数は本来、文字列の前後の空白を除去するための関数です。数値カラムに適用すると、一度文字列として処理されます。そこに「+0」を加えることで暗黙的に数値へキャストされ、MySQLが数値を最短の形式で表示するため、結果として末尾のゼロが削除された状態になります。この組み合わせを覚えておくと、DECIMAL型の見栄えを整えたい場面で非常に便利です。
-
MySQLで列を更新し、末尾のアンダースコア(_)を削除する方法
MySQLで文字列の末尾にある特定の値(この場合はアンダースコア「_」)を削除したい場合、TRIM()関数を使用します。以下にUPDATE文の基本構文を示します。update yourTableName set yourColumnName=trim(trailing _ from yourColumnName);サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable1521 -> ( -> StudentCode varchar(20) -> ); Query OK, 0 r
-
MySQLで末尾のスペースを削除する方法:RTRIM()関数の使い方
MySQLで文字列の末尾(右側)のスペースを削除したい場合は、RTRIM()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、RTRIM()を使って末尾の余分なスペースを取り除く手順を解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> FirstName varchar(50) -> ); Query OK, 0 rows affected (1.38 sec)ここでは、FirstNameというvarchar型のカラムを