MySQLのUPDATE文でハイフンを削除する方法【replace()関数の使い方】
MySQLのUPDATE文でハイフンを削除するには?
MySQLのUPDATE文を使ってカラム内のハイフン(-)を削除したい場合は、replace()関数を利用します。replace()関数は、文字列内の指定した文字を別の文字に置き換えることができる便利な関数です。
ハイフンを削除する場合、第3引数に空文字列('')を指定することで、対象カラム内のすべてのハイフンを一括して取り除くことができます。
基本構文
update yourTableName
set yourColumnName=replace(yourColumnName,'-', '' );
動作確認用テーブルの作成
それでは、上記の構文がどのように動作するのかを理解するために、実際にテーブルを作成してみましょう。テーブル作成用のクエリは以下の通りです。
mysql> create table removeHyphensDemo
-> (
-> userId varchar(100)
-> );
Query OK, 0 rows affected (0.62 sec)
テストデータの挿入
次に、insertコマンドを使用してテーブルにいくつかのレコードを挿入します。クエリは以下の通りです。
mysql> insert into removeHyphensDemo values('John-123-456');
Query OK, 1 row affected (0.22 sec)
mysql> insert into removeHyphensDemo values('Carol-9999-7777-66555');
Query OK, 1 row affected (0.19 sec)
mysql> insert into removeHyphensDemo values('123456-Bob-8765');
Query OK, 1 row affected (0.14 sec)
mysql> insert into removeHyphensDemo values('1678-9870-Sam');
Query OK, 1 row affected (0.21 sec)現在のレコードを確認する
select文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from removeHyphensDemo;
実行結果は以下の通りです。各レコードにハイフンが含まれていることがわかります。
+-----------------------+
| userId |
+-----------------------+
| John-123-456 |
| Carol-9999-7777-66555 |
| 123456-Bob-8765 |
| 1678-9870-Sam |
+-----------------------+
4 rows in set (0.00 sec)
UPDATE文でハイフンを削除する
ここで、ハイフンを削除するためのUPDATEクエリを実行します。
mysql> update removeHyphensDemo
-> set userId=replace(userId,'-','');
Query OK, 4 rows affected (0.26 sec)
Rows matched: 4 Changed: 4 Warnings: 0
「4 rows affected」と表示されており、4件すべてのレコードが正常に更新されたことがわかります。
更新後の結果を確認する
最後に、もう一度テーブルのレコードを確認してみましょう。
mysql> select *from removeHyphensDemo;
以下のように、ハイフンがすべて取り除かれた結果が出力されます。
+--------------------+
| userId |
+--------------------+
| John123456 |
| Carol9999777766555 |
| 123456Bob8765 |
| 16789870Sam |
+--------------------+
4 rows in set (0.00 sec)
まとめ
このように、MySQLではUPDATE文とreplace()関数を組み合わせることで、カラム内のハイフンを簡単に削除できます。電話番号やIDなど、区切り文字を除去してデータを正規化したい場合に非常に役立つテクニックなので、ぜひ活用してください。
-
MySQLのUPDATEクエリでCASEステートメントを使う方法【実行例つき】
UPDATEクエリの中でMySQLのCASEステートメントを使用するには、SET句の値としてCASE式を記述します。これにより、条件に応じて異なる値への一括更新が1つのクエリで実現できます。まずはサンプル用のテーブルを作成しましょう。 1. テーブルの作成 mysql> create table DemoTable ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserScore int ); Query OK, 0 rows affected (0.29 sec) 2. レコードの挿入 insertコマン
-
MySQLのSOUNDEX()関数を使って発音が似た文字列を検索する方法
SOUNDEX()関数とはMySQLのSOUNDEX()関数は、文字列からサウンドex(Soundex)コードと呼ばれる音声表現の文字列を返します。Soundexは、英語の発音の類似性に基づいて文字列をインデックス化するアルゴリズムで、発音がほぼ同じ2つの文字列は、同一のSoundexコードを持つという特徴があります。この特性を活かすことで、スペルは異なるが発音が似ている名前や単語を効率的に検索できます。SOUNDEX()を使用したクエリの基本構文MySQLでSOUNDEX()を使って検索するには、以下のような構文を使用します。SELECT * FROM テーブル名 WHERE SOUNDEX