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

MySQLですべての行を更新し、文字列内および前後の不要な空白を一括削除する方法

MySQLで文字列内および文字列の前後にある不要な空白を削除するには、TRIM()関数を使用します。TRIM()は、文字列の先頭と末尾から余分なスペースを取り除くことができる便利な関数です。ここでは、実際にテーブルを作成し、全行を更新する手順を解説します。

サンプルテーブルの作成

まず、動作を確認するためのテーブルを作成しましょう。

mysql> create table DemoTable1405
    -> (
    -> FirstName varchar(20),
    -> LastName varchar(20)
    -> );
Query OK, 0 rows affected (0.55 sec)

レコードの挿入

insert文を使って、意図的に空白を含んだレコードを挿入します。

mysql> insert into DemoTable1405 values(''   Chris',' Brown ');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1405 values('David      ',' Miller ');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1405 values(''     Carol ',' Taylor ');
Query OK, 1 row affected (0.19 sec)

現在のデータを確認

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

mysql> select * from DemoTable1405;

実行すると、次のような出力が得られます。

+------------------+----------------+
| FirstName        | LastName        |
+------------------+----------------+
|    Chris          |    Brown       |
| David             |    Miller     |
|      Carol       |    Taylor     |
+------------------+----------------+
3 rows in set (0.00 sec)

ご覧のとおり、各カラムの値に不要な空白が含まれていることがわかります。

TRIM()を使ってすべての行を更新

以下が、不要な空白をすべて削除して全行を更新するクエリです。UPDATE文とTRIM()関数を組み合わせることで、複数のカラムに対して一括で空白を除去できます。

mysql> update DemoTable1405 set FirstName=trim(FirstName),LastName=trim(LastName);
Query OK, 3 rows affected (0.18 sec)
Rows matched: 3  Changed: 3 Warnings: 0

更新後の確認

もう一度テーブルのレコードを確認してみましょう。

mysql> select * from DemoTable1405;

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

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Chris     | Brown    |
| David     | Miller   |
| Carol     | Taylor   |
+-----------+----------+
3 rows in set (0.00 sec)

このように、TRIM()関数を使えば、文字列の先頭と末尾にある不要な空白を簡単に削除できます。なお、TRIM()はデフォルトでは半角スペースのみを削除するため、全角スペースやタブなども対象にしたい場合は、TRIM(BOTH ' ' FROM カラム名)のように削除したい文字を明示的に指定してください。

  1. MySQLで最初と最後の行を除外して、それ以外のすべての行を取得する方法

    MySQLで最初と最後の行を除外して、それ以外のすべての行を取得する方法MySQLでテーブルの最初と最後の行を除外し、それ以外のすべての行を取得するには、サブクエリとMIN()関数・MAX()関数を組み合わせて使用します。この記事では、実際のサンプルコードを使いながら手順をわかりやすく解説します。サンプルテーブルの作成まず、以下のSQL文を実行してテーブルを作成します。mysql> create table DemoTable1917 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentCode

  2. 【MySQL】全レコードを一括更新して先頭の文字だけ大文字にし、残りを小文字に変換するクエリ

    はじめに MySQLでは、カラム内の文字列の先頭の文字だけを大文字にし、残りの文字をすべて小文字に変換したいケースがあります。本記事では、CONCAT()、UPPER()、LOWER()、LEFT()、SUBSTRING()といった文字列関数を組み合わせたUPDATEクエリを使って、テーブル内のすべてのレコードを一括更新する方法を解説します。 サンプルテーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable2017 -> ( -> Name text -> ); Query OK, 0 rows