【MySQL】REGEXPの正規表現検索

MySQLはRDBMSなので、正規化すれば問題ございませんが、
既にテーブルのカラムにカンマ区切りのデータが入っていてデータが変更できない場合のクエリです。

idに1,10,11,111のようなデータが入っているときに1をLIKEで検索すると全て引っかかりますね。
SELECT * FROM table WHERE id LIKE ‘%1%’

そこでREGEXPにて検索すると正規表現のOR検索でできるので、
検索結果は一件のみ抽出されます。

■MySQL
SELECT * FROM table WHERE id REGEXP ‘^1$|^1,|,1$|,1,’

■CAKEPHP
$this->Table->find(‘all’, array(‘conditons’ => array(‘name REGEXP’ => ‘^1$|^1,|,1$|,1,’));

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x