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

MySQLでREPLACE()関数を使って文字列内のスペースを削除するUPDATEクエリの書き方

文字と文字の間に不要なスペースが含まれているデータを一括で修正したい場合、MySQLのREPLACE()関数を使えば簡単にスペースを削除できます。

基本構文

スペースを除去するUPDATEクエリの基本構文は以下の通りです。

UPDATE テーブル名 SET カラム名 = REPLACE(カラム名, ' ', '');

この構文では、指定したカラム内のすべての半角スペースを空文字('')に置き換えることで、文字列からスペースを取り除いています。

動作確認用のサンプルテーブルを作成する

それでは、実際に上記の構文を試してみましょう。まずはテスト用のテーブルを作成します。

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(' John 12 67 ','John');
Query OK, 1 row affected (0.33 sec)
mysql> insert into removeSpaceDemo(UserId,UserName) values('Carol 23 ','Carol');
Query OK, 1 row affected (0.34 sec)

登録データの確認

SELECT文でテーブル内の全レコードを表示してみましょう。

mysql> select *from removeSpaceDemo;

実行結果は以下の通りです。

+----+------------------+----------+
| Id | UserId           | UserName |
+----+------------------+----------+
|  1 | John 12 67       | John     |
|  2 | Carol 23         | Carol    |
+----+------------------+----------+
2 rows in set (0.00 sec)

出力結果を見ると、「John 12 67」や「Carol 23」のように、UserIdカラムの文字列内にスペースが混在していることがわかります。

REPLACE()関数でスペースを削除する

それでは、REPLACE()関数を使ったUPDATEクエリを実行して、文字間のスペースをすべて削除します。

mysql> update removeSpaceDemo set UserId=REPLACE(UserId,' ','');
Query OK, 2 rows affected (0.63 sec)
Rows matched: 2 Changed: 2 Warnings:

「Rows matched: 2 Changed: 2」と表示されており、2件のレコードが正常に更新されたことが確認できます。

更新後のデータを再確認

もう一度SELECT文を実行して、テーブルの内容をチェックしましょう。

mysql> select *from removeSpaceDemo;

実行結果は以下の通りです。

+----+----------+----------+
| Id | UserId   | UserName |
+----+----------+----------+
|  1 | John1267 | John     |
|  2 | Carol23  | Carol    |
+----+----------+----------+
2 rows in set (0.00 sec)

更新後の出力結果では、「John1267」「Carol23」となり、文字列内のスペースが完全に除去されていることが確認できました。

まとめ

このように、UPDATE文とREPLACE()関数を組み合わせることで、テーブル内の既存データからスペースを一括して削除できます。データクレンジングや入力値の正規化など、実務でもよく使われるテクニックなので、ぜひ覚えておきましょう。なお、全角スペースを削除したい場合は、第2引数に全角スペースを指定すれば同様に処理できます。

  1. MySQLのUPDATE文で1つのクエリを使って複数のレコードを更新する方法

    MySQLでは、UPDATEステートメントを使うことで、1つのクエリで複数のカラムや複数のレコードの値をまとめて更新できます。この記事では、実際にサンプルテーブルを作成し、UPDATE文でデータを更新する具体的な手順を解説します。サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable     -> (     -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    &

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

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