mysql中实现正则模糊查询功能
作者: 郑晓 分类: PHP 发布于: 2012-10-09 03:22 浏览:8,257 评论(3)
这是从今天Q群里一个人问的一个问题中,偶然学到的一个知识,原来在mysql中也可以使用正则进行匹配搜索。
他的原题是这样的:说是做了一个输入框,需要根据输入框中输入的内容来查询数据库。现在有个问题,就是想用占位符来实现模糊查询,比如输入2*3,需要查询类似1223、223、2243,但不包括123这样的结果,也就是*代表一个通配占位符,这个位置必须有且只有一个字符,那这个查询要怎么写?
之前只会用mysql的like和%来实现一些简单的模糊查询,所以看到这个问题时首先想到的是如何通过php来实现这个功能。不过像这样的搜索只用php来实现的话可能会有一些麻烦,由于问题想实现的功能是实现匹配搜索、匹配查询,应该想到正则!
百度了下,mysql果然有着强大的正则匹配功能,用一个关键词REGEXP 来代替之前的LIKE,用一条的语句简单的实现了上面的功能:
SELECT * FROM `tb_name` where number REGEXP ‘2.3’;
本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。
本文永久链接: https://www.zh30.com/mysql-achieve-positive-fuzzy-query.html
mysql中实现正则模糊查询功能:目前有3 条留言
一般不用mysql的正则,效率太低。
嗯。毕竟它不是专业干这个的,哈哈
一般不使用sql命令