當前位置: 博客首頁 >> PHP >> 閱讀正文

mysql中實現正則模糊查詢功能

作者: 鄭曉 分類: PHP 發(fā)布于: 2012-10-09 03:22 瀏覽:8,344 評論(3)


這是從今天Q群里一個人問的一個問題中,偶然學到的一個知識,原來在mysql中也可以使用正則進行匹配搜索。

他的原題是這樣的:說是做了一個輸入框,需要根據輸入框中輸入的內容來查詢數據庫?,F在有個問題,就是想用占位符來實現模糊查詢,比如輸入2*3,需要查詢類似1223、223、2243,但不包括123這樣的結果,也就是*代表一個通配占位符,這個位置必須有且只有一個字符,那這個查詢要怎么寫?

之前只會用mysql的like和%來實現一些簡單的模糊查詢,所以看到這個問題時首先想到的是如何通過php來實現這個功能。不過像這樣的搜索只用php來實現的話可能會有一些麻煩,由于問題想實現的功能是實現匹配搜索、匹配查詢,應該想到正則!

百度了下,mysql果然有著強大的正則匹配功能,用一個關鍵詞REGEXP 來代替之前的LIKE,用一條的語句簡單的實現了上面的功能:

SELECT * FROM `tb_name` where number REGEXP ‘2.3’;

 

 

? ? ? ?

本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協(xié)議進行許可,轉載時請注明出處及相應鏈接。

本文永久鏈接: http://m.yjfs.org.cn/mysql-achieve-positive-fuzzy-query.html

mysql中實現正則模糊查詢功能:目前有3 條留言

用戶評論頭像 月小升的技術博客發(fā)表于 2012年10月23日 15:50[回復]

一般不用mysql的正則,效率太低。

    用戶評論頭像 鄭曉發(fā)表于 2012年10月23日 15:53[回復]

    嗯。畢竟它不是專業(yè)干這個的,哈哈

用戶評論頭像 哼哼豬發(fā)表于 2012年10月09日 20:01[回復]

一般不使用sql命令

發(fā)表評論

change vcode