MySQLでカラム内の余分なスペースを削除するUPDATEクエリの書き方(TRIM関数の使い方)
MySQLのTRIM()関数でスペースを削除する方法
MySQLでは、TRIM()関数を使用することで、カラムに含まれる前後の不要なスペースを簡単に削除できます。データ登録時に意図せず空白が混入してしまうケースは多いため、この方法は実務でも非常に役立ちます。
基本構文
UPDATE yourTableName SET yourColumnName=TRIM(yourColumnName);
サンプルテーブルの作成
まず、動作を確認するためのテーブルを作成しましょう。以下がテーブル作成用のクエリです。
mysql> create table removeSpaceDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserId varchar(20), -> UserName varchar(10), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.81 sec)
テストデータの挿入
次に、INSERTコマンドを使ってスペースを含むレコードをいくつか登録します。
mysql> insert into removeSpaceDemo(UserId,UserName) values('John1267 ','John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values(' 12Larry56','Larry');
Query OK, 1 row affected (0.17 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values(' David909','David');
Query OK, 1 row affected (0.18 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values('Bob912 ','Bob');
Query OK, 1 row affected (0.13 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values(' Sam123 ','Sam');
Query OK, 1 row affected (0.10 sec)削除前のデータを確認
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from removeSpaceDemo;
出力結果を見ると、UserIdカラムの値に前後にスペースが含まれていることがわかります。
+----+----------------+----------+ | Id | UserId | UserName | +----+----------------+----------+ | 1 | John1267 | John | | 2 | 12Larry56 | Larry | | 3 | David909 | David | | 4 | Bob912 | Bob | | 5 | Sam123 | Sam | +----+----------------+----------+ 5 rows in set (0.00 sec)
UPDATEクエリでスペースを一括削除
それでは、TRIM()関数を使ってスペースを削除するUPDATEクエリを実行します。
mysql> update removeSpaceDemo set UserId=TRIM(UserId); Query OK, 5 rows affected (0.33 sec) Rows matched: 5 Changed: 5 Warnings: 0
5行すべてが更新されました。再度SELECT文でテーブルの中身を確認してみましょう。
mysql> select *from removeSpaceDemo;
以下の出力結果のように、UserIdから余分なスペースがきれいに取り除かれています。
+----+-----------+----------+ | Id | UserId | UserName | +----+-----------+----------+ | 1 | John1267 | John | | 2 | 12Larry56 | Larry | | 3 | David909 | David | | 4 | Bob912 | Bob | | 5 | Sam123 | Sam | +----+-----------+----------+ 5 rows in set (0.00 sec)
RTRIM()関数を使う場合
末尾(右側)のスペースだけを削除したい場合は、TRIM()の代わりにRTRIM()関数を使用することも可能です。
UPDATE yourTableName SET yourColumnName=RTRIM(yourColumnName);
なお、先頭(左側)のスペースのみを削除したい場合はLTRIM()関数が利用できます。用途に応じてこれらの関数を使い分けることで、柔軟にデータクレンジングを行えます。
-
MySQLで末尾のスペースを削除する方法:RTRIM()関数の使い方
MySQLで文字列の末尾(右側)のスペースを削除したい場合は、RTRIM()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、RTRIM()を使って末尾の余分なスペースを取り除く手順を解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> FirstName varchar(50) -> ); Query OK, 0 rows affected (1.38 sec)ここでは、FirstNameというvarchar型のカラムを
-
MySQLの1つのUPDATE文で2つの列を同時に更新する方法
はじめにMySQLでは、1つのUPDATE文の中でSET句を一度だけ使えば、複数の列を同時に更新できます。各列の指定はカンマ(,)で区切って記述します。この記事では、実際にテーブルを作成し、1つのクエリで2つの列(FirstNameとLastName)を更新する手順を解説します。サンプルテーブルの作成まず、以下のようにCREATE TABLE文でテーブルを作成します。mysql> create table DemoTable1909 ( Id int NOT NULL, FirstName varchar(20), LastName varchar(20)