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

MySQLの列(カラム)からすべてのスペースを削除する方法

MySQLの列からすべてのスペースを削除するには?

MySQLの列(カラム)に含まれるすべてのスペースを取り除くには、REPLACE()関数を使用します。REPLACE()関数は文字列内の指定した文字を別の文字に置き換える関数で、スペースを空文字列に置き換えることで、文字列中のすべてのスペースを削除できます。

基本構文

update yourTableName set yourColumnName=REPLACE(yourColumnName,' ', '' );

この構文では、指定したテーブル(yourTableName)の指定した列(yourColumnName)に含まれる半角スペースを、空文字列に置き換えています。

実際の操作手順

1. テーブルを作成する

まず、動作確認用のサンプルテーブルを作成します。

mysql> create table stripAllSpacesDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.56 sec)

2. レコードを挿入する

次に、INSERTコマンドを使ってスペースを含むデータを挿入します。

mysql> insert into stripAllSpacesDemo(Name) values('Jo h n');
Query OK, 1 row affected (0.19 sec)
mysql> insert into stripAllSpacesDemo(Name) values(' Joh n');
Query OK, 1 row affected (0.16 sec)
mysql> insert into stripAllSpacesDemo(Name) values('Jo hn');
Query OK, 1 row affected (0.14 sec)
mysql> insert into stripAllSpacesDemo(Name) values('J ohn');
Query OK, 1 row affected (0.17 sec)
mysql> insert into stripAllSpacesDemo(Name) values('John ');
Query OK, 1 row affected (0.14 sec)

3. データを確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> select * from stripAllSpacesDemo;

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

+----+-----------+
| Id | Name |
+----+-----------+
| 1 | Jo h n |
| 2 | Joh n |
| 3 | Jo hn |
| 4 | J ohn |
| 5 | John |
+----+-----------+
5 rows in set (0.00 sec)

各レコードの名前にスペースが混入していることが確認できます。

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

以下のUPDATEクエリを実行して、Name列からすべてのスペースを取り除きます。

mysql> update stripAllSpacesDemo set Name=REPLACE(Name,' ','');
Query OK, 5 rows affected (0.12 sec)
Rows matched: 5 Changed: 5 Warnings: 0

5. 削除結果を確認する

もう一度すべてのレコードを表示し、スペースが正しく削除されたかチェックしましょう。

mysql> select * from stripAllSpacesDemo;

実行結果:

+----+------+
| Id | Name |
+----+------+
| 1 | John |
| 2 | John |
| 3 | John |
| 4 | John |
| 5 | John |
+----+------+
5 rows in set (0.00 sec)

このように、すべての行のName列からスペースが完全に取り除かれ、「John」という文字列だけになりました。

補足:先頭と末尾のスペースだけを削除したい場合

文字列内のすべてのスペースではなく、先頭と末尾のスペースのみを削除したい場合は、TRIM()関数を使用します。

update yourTableName set yourColumnName=TRIM(yourColumnName);

また、日本語データを扱う場合は全角スペースが含まれることもあります。半角・全角両方のスペースを削除したい場合は、以下のようにREPLACE()関数を入れ子にすると対応できます。

update yourTableName set yourColumnName=REPLACE(REPLACE(yourColumnName,' ',''),' ','');
  1. MySQLで列(カラム)を分割する方法!SUBSTRING_INDEX関数の使い方を徹底解説

    MySQLで列を分割するには?SUBSTRING_INDEX関数の基本MySQLで1つの列に格納された文字列を区切り文字で分割したい場合、SUBSTRING_INDEX()関数を使用します。この記事では、アンダースコア(_)で区切られた氏名データを分割する具体例を通じて、その使い方をわかりやすく解説します。1. サンプルテーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Name varchar(40) -> );Query OK, 0 rows affected (1.

  2. MySQLで予約語「from」を列名として使用する方法

    MySQLで「from」を列名として使うには? MySQLでは「from」は予約語(リザーブドワード)として登録されているため、そのまま列名として使用するとエラーが発生します。しかし、バッククォート(`` ` ``)で囲むことで、予約語である「from」を列名として扱うことができます。 この記事では、実際にテーブルを作成し、「from」を列名としてデータの挿入や取得を行う手順を解説します。 1. バッククォートを使ってテーブルを作成する まず、列名「from」をバッククォートで囲んでテーブルを作成します。以下のSQLを実行してください。 mysql> create table Demo