この記事は公開されてから8年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
MySQL で SELECT するときに正規表現を使いたいことがよくあります。
「特定のパターンに一致しているものだけ」とかその反対もありますが。
例えば郵便番号のカラムが [0-9]{3}-[0-9]{4} という郵便番号フォーマットになっていないものだけ抽出してフォーマットし直したい時とかですね。
MySQL の WHERE句 で正規表現を使うときはこんなふうになります。
1 |
SELECT * FROM `addresses` WHERE `zip_code` NOT REGEXP '^[0-9]{3}\-[0-9]{4}$'; |
これで addresses テーブルから zip_code カラムが ‘^[0-9]{3}-[0-9]{4}$’ のパターンに一致しないレコードを抽出することができますね。
LINE や REGEXP の時に否定したいときはそれぞれ NOT を追加すればokです。