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

MySQLのTRIM()関数で文字列から特定の接頭辞・接尾辞を削除する方法

MySQLのTRIM()関数を使うと、文字列から特定の接頭辞(プレフィックス)や接尾辞(サフィックス)、あるいはその両方を簡単に削除することができます。この記事では、TRIM()関数の基本的な構文と、実際の使用例を交えながらその動作を詳しく解説します。

TRIM()関数の基本構文

TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string)

各引数の意味

  • BOTH:文字列の左側(先頭)と右側(末尾)の両方から指定した文字列を削除します。
  • LEADING:先頭(左側)にある指定文字列のみを削除します。
  • TRAILING:末尾(右側)にある指定文字列のみを削除します。
  • str_to_remove:削除したい文字列を指定します。省略した場合は、半角スペースが削除対象になります。
  • string:処理の対象となる元の文字列を指定します。

実際の使用例

1. 両端から指定文字を削除する(BOTH)

次の例では、「0100」という文字列の両端から「0」を削除しています。

mysql> Select TRIM(BOTH '0' FROM '0100');
+----------------------------+
| TRIM(BOTH '0' FROM '0100') |
+----------------------------+
| 1                          |
+----------------------------+
1 row in set (0.00 sec)

また、複数の文字から成る文字列も削除できます。「ABCDAB」の両端から「AB」を削除すると、結果は「CD」になります。

mysql> Select TRIM(BOTH 'AB' FROM 'ABCDAB');
+-------------------------------+
| TRIM(BOTH 'AB' FROM 'ABCDAB') |
+-------------------------------+
| CD                            |
+-------------------------------+
1 row in set (0.00 sec)

2. 末尾のみから指定文字を削除する(TRAILING)

TRAILINGを指定すると、末尾の「AB」だけが削除され、先頭はそのまま残ります。

mysql> Select TRIM(Trailing 'AB' FROM 'ABCDAB');
+-----------------------------------+
| TRIM(Trailing 'AB' FROM 'ABCDAB') |
+-----------------------------------+
| ABCD                              |
+-----------------------------------+
1 row in set (0.00 sec)

3. 先頭のみから指定文字を削除する(LEADING)

LEADINGを指定すると、先頭の「AB」だけが削除され、末尾はそのまま残ります。

mysql> Select TRIM(Leading 'AB' FROM 'ABCDAB');
+----------------------------------+
| TRIM(Leading 'AB' FROM 'ABCDAB') |
+----------------------------------+
| CDAB                             |
+----------------------------------+
1 row in set (0.00 sec)

まとめ

TRIM()関数を使いこなすことで、データクレンジングや文字列の正規化を効率的に行えます。BOTHで両端、LEADINGで先頭、TRAILINGで末尾と、削除位置を柔軟に指定できるのが大きな特徴です。なお、引数str_to_removeを省略した場合は半角スペースが削除されるため、前後の不要な空白を取り除きたい場合にも便利です。

  1. MySQLで「false」は文字列と一致する?暗黙の型変換の仕組みを解説

    MySQLでは、false を 0 として扱うことで、文字列との比較や一致判定を行うことができます。本記事では、実際のサンプルコードを使いながら、文字列と数値が混在するデータに対して false(0)がどのように機能するのかを詳しく解説します。 検証用テーブルの作成 まず、検証のためのテーブルを作成しましょう。 mysql> create table DemoTable804 ( Id varchar(100) ); Query OK, 0 rows affected (0.66 sec) レコードの挿入 次に、insertコマンドを使ってテーブルにいくつかのレコードを挿入します。

  2. MySQLで文字列から日付を抽出する方法|SUBSTRING_INDEX関数の実践的な使い方

    MySQLで文字列から日付を抽出するには?MySQLで文字列の中から日付部分だけを取り出したい場合、SUBSTRING_INDEX() 関数を使うのが便利です。この関数は、指定した区切り文字を基準に文字列を分割し、必要な部分を取得できます。ここでは、実際にテーブルを作成し、文章の中に含まれる日付(例:12/31/2018)を抽出する手順を解説します。1. サンプルテーブルを作成するまず、文字列を格納するためのテーブルを作成します。mysql> create table DemoTable -> ( -> Title text -> );Query OK