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

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()関数が利用できます。用途に応じてこれらの関数を使い分けることで、柔軟にデータクレンジングを行えます。

  1. MySQLで末尾のスペースを削除する方法:RTRIM()関数の使い方

    MySQLで文字列の末尾(右側)のスペースを削除したい場合は、RTRIM()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、RTRIM()を使って末尾の余分なスペースを取り除く手順を解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> FirstName varchar(50) -> ); Query OK, 0 rows affected (1.38 sec)ここでは、FirstNameというvarchar型のカラムを

  2. 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)