• ベストアンサー

【MySQL】where句で正規表現のようなものありますか?

お世話になっております。 やりたい事は、例えば`title`フィールドの 頭文字が“あ行”のものとか、 頭文字がアルファベットの(またはアルファベットでない)ものとか の抽出です。 今は地道に where title like 'あ%' or title like 'い%' or ・・・・・・(~お迄) 等とやっています。 “は行”なんかは濁点や半濁点も含め15個つなげています。。 簡単な方法がございましたらご教示願いたいです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

mysqlの正規表現は日本語の対応が不正確なので苦労しますね。 一応、こうすればいけそうです。 ○ `title` REGEXP '^(あ|い|う|え|お)' しかしこんなやり方はできません。 × `title` REGEXP '^(あ-お)' 先頭か末尾のマッチはいけそうですが、文字列の中間となると 文字コードの合間にマッチすることがあるので、不正確になります。 私は使ったことがないので手放しにお勧めできませんが、 mregexp拡張など日本語版正規表現もあるようです。 参考までに http://www.irori.org/tool/mregexp.html

その他の回答 (1)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

試してないのですが、以下のページの説明で出来るのでは? 見本はSELECTのみですが、SELECTとWHEREで使える関数の説明で 下のほうに拡張正規表現のことが書いてあります。 http://dev.mysql.com/doc/refman/4.1/ja/string-comparison-functions.html

関連するQ&A