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

MySQLでカンマをトリミングする方法|TRIM関数の使い方を解説

MySQLでカンマをトリミングする方法

MySQLでは、TRIM関数に「BOTH」キーワードを組み合わせることで、文字列の先頭と末尾にあるカンマ(,)を簡単に削除できます。データのクレンジングや整形処理でよく使われる便利なテクニックなので、ぜひ覚えておきましょう。

基本構文

カンマをトリミングするための構文は以下の通りです。

SELECT TRIM(BOTH ',' FROM カラム名) FROM テーブル名;

実際の使用例

それでは、具体的な例を見ていきましょう。まず、サンプル用のテーブルを作成します。

mysql> create table TrimCommasDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> AllTechnicalSkills text
-> );
Query OK, 0 rows affected (0.81 sec)

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。ここでは、前後にカンマが付いた技術スキルのデータを登録します。

mysql> insert into TrimCommasDemo(AllTechnicalSkills) values(',C,C++,Java,');
Query OK, 1 row affected (0.14 sec)
mysql> insert into TrimCommasDemo(AllTechnicalSkills) values(',MySQL,SQL Server,MongoDB,');
Query OK, 1 row affected (0.13 sec)
mysql> insert into TrimCommasDemo(AllTechnicalSkills) values(',Spring Framework,Hibernate Framework,');
Query OK, 1 row affected (0.13 sec)

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

mysql> select *from TrimCommasDemo;

実行結果は以下の通りです。

+----+----------------------------------------+
| Id | AllTechnicalSkills |
+----+----------------------------------------+
| 1 | ,C,C++,Java, |
| 2 | ,MySQL,SQL Server,MongoDB, |
| 3 | ,Spring Framework,Hibernate Framework, |
+----+----------------------------------------+
3 rows in set (0.00 sec)

TRIM関数で先頭・末尾のカンマを削除する

ここからが本題です。TRIM(BOTH ',')を使うことで、先頭と末尾のカンマをまとめて削除できます。

mysql> select TRIM(BOTH ',' FROM AllTechnicalSkills) from TrimCommasDemo;

実行結果:

+----------------------------------------+
| TRIM(BOTH ',' FROM AllTechnicalSkills) |
+----------------------------------------+
| C,C++,Java |
| MySQL,SQL Server,MongoDB |
| Spring Framework,Hibernate Framework |
+----------------------------------------+
3 rows in set (0.00 sec)

先頭と末尾のカンマがきれいに取り除かれ、中間のカンマだけが残っていることが確認できます。

補足:LEADING / TRAILING の使い分け

BOTHの代わりにLEADINGを指定すると先頭のみ、TRAILINGを指定すると末尾のみのカンマを削除することも可能です。

-- 先頭のカンマのみ削除
SELECT TRIM(LEADING ',' FROM AllTechnicalSkills) FROM TrimCommasDemo;

-- 末尾のカンマのみ削除
SELECT TRIM(TRAILING ',' FROM AllTechnicalSkills) FROM TrimCommasDemo;

このように、TRIM関数を活用すれば、CSV形式などで保存されたデータから不要なカンマを簡単に取り除くことができます。データの前処理や表示整形の際にぜひ活用してください。

  1. PHPとMySQLでブール値を扱うには?BOOL・BOOLEAN・TINYINT(1)の違いと使い方

    本記事では、MySQL 8.0.12を使用して、ブール(Boolean)値の正しい取り扱い方を解説します。まず、使用しているMySQLのバージョンを確認しておきましょう。 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) MySQLにおけるブール値の基本:BOOL・BOOLEAN・TINYINT(1) MySQLでブール値を扱うには、BOOL、BOOLEAN、またはTINYINT(1)のいずれかを使用

  2. JDBCでMySQLのバックスラッシュをエスケープするには?PreparedStatementの使い方を解説

    PreparedStatementでバックスラッシュを安全にエスケープするMySQLにデータを挿入する際、バックスラッシュ(\)などの特殊文字を安全に扱うには、PreparedStatementを使用するのが最も確実な方法です。PreparedStatementはパラメータを自動的にエスケープしてくれるため、手動で「\\」のように置き換える必要がなく、SQLインジェクション対策としても有効です。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1904 ( ClientId int, ClientName var