MySQLで末尾のスペースを削除する方法:RTRIM()関数の使い方
MySQLで文字列の末尾(右側)のスペースを削除したい場合は、RTRIM()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、RTRIM()を使って末尾の余分なスペースを取り除く手順を解説します。
1. テーブルを作成する
まず、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable
-> (
-> FirstName varchar(50)
-> );
Query OK, 0 rows affected (1.38 sec)ここでは、FirstNameというvarchar型のカラムを持つ「DemoTable」を作成しました。
2. テストデータを挿入する
次に、INSERT文を使っていくつかのレコードを挿入します。意図的に末尾や先頭にスペースを含んだデータも混ぜています。
mysql> insert into DemoTable values('John ');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Chris ');
Query OK, 1 row affected (0.51 sec)
mysql> insert into DemoTable values(' David ');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Mike');
Query OK, 1 row affected (0.17 sec)3. 現在のデータを確認する
SELECT文ですべてのレコードを表示してみます。
mysql> select *from DemoTable;
実行結果は以下のとおりです。
+-------------------+ | FirstName | +-------------------+ | John | | Chris | | David | | Mike | +-------------------+ 4 rows in set (0.00 sec)
画面上ではわかりにくいですが、「John」「Chris」には末尾にスペースが含まれており、「David」には先頭と末尾にスペースが含まれています。
4. RTRIM()で末尾のスペースを削除する
RTRIM()関数を使うと、文字列の末尾にあるスペースだけを削除できます。以下がそのクエリです。
mysql> select rtrim(FirstName) as FirstName from DemoTable;
実行結果は以下のとおりです。
+-------------+ | FirstName | +-------------+ | John | | Chris | | David | | Mike | +-------------+ 4 rows in set (0.00 sec)
このように、rtrim(FirstName)と指定することで、末尾のスペースが削除された値を取得できます。なお、先頭のスペースはRTRIM()では削除されないため、「David」の先頭スペースはそのまま残ります。
補足:関連する文字列トリム関数
- RTRIM():文字列の末尾(右側)のスペースを削除します。
- LTRIM():文字列の先頭(左側)のスペースを削除します。
- TRIM():文字列の両端のスペースを削除します。両方のスペースを取り除きたい場合に便利です。
たとえば、先頭と末尾の両方のスペースを削除したい場合は、次のようにTRIM()を使用します。
mysql> select trim(FirstName) as FirstName from DemoTable;
また、取得時に整形するだけでなく、テーブル内のデータ自体を更新したい場合は、UPDATE文と組み合わせて次のように記述できます。
mysql> update DemoTable set FirstName = rtrim(FirstName);
これにより、テーブルに保存されているすべてのFirstNameカラムから末尾のスペースが一括で除去されます。ユーザー入力データのクリーニングや、検索条件の一致率を高めたい場合などに活用できる便利なテクニックです。
-
MySQLの列から括弧で囲まれた末尾の数字を削除する方法
MySQLの列に格納された文字列から、「(7)」のように括弧で囲まれた末尾の数字を削除したいケースはよくあります。これには、trim()関数とsubstring()関数を組み合わせて使用します。本記事では、実際のサンプルコードを交えながら手順を詳しく解説します。1. サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable ( Name varchar(100) ); Query OK, 0 rows affected (0.80 sec)2. レコードの挿入insertコマンドを使用して、テーブルにいくつかのレ
-
MySQLで角括弧([])で囲まれたテキストを削除する方法
MySQLでは、REPLACE()、SUBSTRING()、LOCATE()といった文字列関数を組み合わせることで、角括弧 [ ] で囲まれた部分のテキストを削除できます。この記事では、実際にテーブルを作成しながら、その手順とクエリの仕組みをわかりやすく解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable -> ( -> Name text -> ); Query OK, 0 rows affected (0.47 sec) 2. レコードの挿入 INSERTコマ