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つのデータが取得できます。