【MySQL】正規表現で電話番号を検索する方法を解説します

MySQL

MySQLで正規表現を使って取得するデータを指定する

本記事では、MySQLにおいて正規表現で取得するデータを取得する方法を紹介します。

正規表現を使うことで条件に合ったデータを取得することができます

MySQLにおける正規表現で指定してデータを取得するには、以下のように「REGEXP」を使って記述します。

select * from テーブル名 WHERE カラム名 REGEXP '正規表現の条件';

このようにWHERE句と組み合わせて条件を指定します。WHERE句については以下の記事で詳しく解説していますので、ぜひチェックしてみてください!

今回はこれを使って、電話番号の桁数を指定して一致するデータを取得する方法を紹介します。

具体的なコード例

例として、以下のようなphone_numberカラムを持つstudentsテーブルから取得します。

一般的に使われる携帯電話のような「3桁-4桁-4桁」を一致させる正規表現は、次のようになります。

[0-9]{3}-[0-9]{4}-[0-9]{4}
↓
(0~9の数字が3つ並ぶ)-(0~9の数字が4つ並ぶ)-(0~9の数字が4つ並ぶ) という意味

これをSQL文の中に組み込むと以下のようなコードになります。

SELECT * FROM students WHERE phone_number REGEXP '[0-9]{3}-[0-9]{4}-[0-9]{4}';

上記のコードを実行すると、電話番号が「3桁-4桁-4桁」である8つのデータが取得できます。

タイトルとURLをコピーしました