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を省略した場合は半角スペースが削除されるため、前後の不要な空白を取り除きたい場合にも便利です。
-
MySQLで「false」は文字列と一致する?暗黙の型変換の仕組みを解説
MySQLでは、false を 0 として扱うことで、文字列との比較や一致判定を行うことができます。本記事では、実際のサンプルコードを使いながら、文字列と数値が混在するデータに対して false(0)がどのように機能するのかを詳しく解説します。 検証用テーブルの作成 まず、検証のためのテーブルを作成しましょう。 mysql> create table DemoTable804 ( Id varchar(100) ); Query OK, 0 rows affected (0.66 sec) レコードの挿入 次に、insertコマンドを使ってテーブルにいくつかのレコードを挿入します。
-
MySQLで文字列から日付を抽出する方法|SUBSTRING_INDEX関数の実践的な使い方
MySQLで文字列から日付を抽出するには?MySQLで文字列の中から日付部分だけを取り出したい場合、SUBSTRING_INDEX() 関数を使うのが便利です。この関数は、指定した区切り文字を基準に文字列を分割し、必要な部分を取得できます。ここでは、実際にテーブルを作成し、文章の中に含まれる日付(例:12/31/2018)を抽出する手順を解説します。1. サンプルテーブルを作成するまず、文字列を格納するためのテーブルを作成します。mysql> create table DemoTable -> ( -> Title text -> );Query OK