MySQLで正規表現で検索条件を抽出する

MySQLで正規表現で検索条件を抽出する

MySQLでWhere句にREGEXPを使用することで正規表現でデータ抽出をすることができます。

WHERE カラム名 REGEXP '正規表現パターン'

従業員テーブル(employee)のfirst_nameが小文字のアルファベットで始まるデータを抽出してみます。

select first_name
from employee
where first_name REGEXP '^[a-z]';

結果は以下の通りです。

taro
jiro
Hanako
ichiro
saburo

小文字のアルファベットで始まる、というパターンなのにHanakoが抽出されてしまっています。

正規表現パターンで大文字小文字は指定できないようで、REGEXP BINARYで抽出すると正しく抽出することができます。

select first_name
from employee
where first_name REGEXP BINARY '^[a-z]';

結果は以下の通りです。

taro
jiro
ichiro
saburo

逆に大文字のアルファベットで始まるデータを抽出するにはREGEXP BINARYで^[A-Z]で抽出します。

select first_name
from employee
where first_name REGEXP BINARY'^[A-Z]';

その他は普通に正規表現が使えると思います。

正規表現入門

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

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