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

MySQLテーブルの全レコードにTRIM関数を適用して余分な空白を一括削除する方法

MySQLでは、TRIM関数を使用することで、文字列の先頭と末尾にある余分な空白(スペース)を簡単に取り除くことができます。本記事では、テーブル内のすべてのレコードに対してTRIMを一度に適用し、データを整形する手順を解説します。

1. サンプルテーブルを作成する

まず、動作確認用のテーブルを作成しましょう。

mysql> create table DemoTable
(
    StudentName varchar(100)
);
Query OK, 0 rows affected (0.64 sec)

2. 前後に空白を含むレコードを挿入する

次に、INSERT文を使って、先頭や末尾に空白が含まれたデータを挿入します。

mysql> insert into DemoTable values(' Adam Smith ');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(' David Miller ');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(' Chris Brown ');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(' Carol Taylor ');
Query OK, 1 row affected (0.10 sec)

3. 現在のレコードを確認する

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

mysql> select *from DemoTable;

実行結果は以下のとおりです。名前の前後に余分な空白が残っていることがわかります。

+-----------------------------------+
| StudentName                       |
+-----------------------------------+
| Adam Smith
| David Miller                      |
| Chris Brown                       |
| Carol Taylor                      |
+-----------------------------------+
4 rows in set (0.00 sec)

4. UPDATE文とTRIM関数で全レコードを一括整形する

テーブル内のすべてのレコードから空白を取り除くには、UPDATE文の中でTRIM関数を呼び出します。対象カラム自身をTRIMした結果で上書きするのがポイントです。

mysql> update DemoTable set StudentName=trim(StudentName);
Query OK, 4 rows affected (0.24 sec)
Rows matched: 4 Changed: 4 Warnings: 0

5. 処理後のレコードを再確認する

もう一度SELECT文を実行して、結果を確認しましょう。

mysql> select *from DemoTable;

実行結果は以下のとおりです。TRIM()によって、すべてのレコードから先頭と末尾の空白が正常に除去されました。

+-----------------+
| StudentName     |
+-----------------+
| Adam Smith      |
| David Miller    |
| Chris Brown     |
| Carol Taylor    |
+-----------------+
4 rows in set (0.00 sec)

補足:TRIM関数のバリエーション

TRIM関数には、以下のような関連関数もあります。用途に応じて使い分けると便利です。

  • LTRIM():文字列の先頭の空白のみを削除します。
  • RTRIM():文字列の末尾の空白のみを削除します。
  • TRIM( BOTH 'x' FROM 文字列 ):空白以外の特定の文字を指定して削除することも可能です。

このように、UPDATE文とTRIM関数を組み合わせることで、大量のデータに含まれる不要な空白を一括でクリーンアップできます。ユーザー入力データの整形や、検索条件の一致率向上など、実務でも非常に役立つテクニックなので、ぜひ活用してください。

  1. MySQLで1つのテーブルからすべてのレコードを別のテーブルにコピーする方法(CREATE TABLE AS SELECT活用術)

    MySQLでは、CREATE TABLE AS SELECTステートメントを使うことで、既存テーブルのすべてのレコードを簡単に新しいテーブルへコピーできます。この記事では、実際のSQL例とともにその手順をわかりやすく解説します。 CREATE TABLE AS SELECTステートメントとは CREATE TABLE AS SELECTは、SELECT文の実行結果をもとに新しいテーブルを作成する構文です。元テーブルの構造とデータをまとめて複製できるため、テーブルのバックアップやデータ移行の際に非常に便利です。 サンプルテーブルの作成 まず、コピー元となるテーブルを作成しましょう。 mys

  2. MySQLでテーブル列の全日付レコードに1年を追加する方法

    MySQLでは、DATE_ADD()関数を使うことで、日付や日時の値に指定した期間を簡単に加算できます。この記事では、テーブル内のすべての日付レコードに1年を追加する方法を、具体的な手順とともに解説します。 サンプルテーブルの作成 まず、デモ用のテーブルを作成します。ここでは、入社日を格納する JoiningDate カラムを持つテーブルを定義します。 mysql> create table DemoTable -> ( -> JoiningDate datetime -> ); Query OK, 0 rows affected (0.59