mysql find_in_set或REGEXP查询字段中指定字符内容
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-29 16:48:56 浏览: 评论:0
在mysql中如果我的数据存储是以(‘产品2′,’2,4,7′)这种格式的我们如果使用in可能有问题用like也不行,唯独使用find_in_set才比较精确了.
在使用织梦DEDECMS时,开启了织梦的主栏目、副栏目功能,而副栏目字段在mysql数据库中typeid2是以逗号,分隔栏目id组成字符串,需查询副栏目文章时,心情天空就需要下面的两个方法解决.
测试mysql 数据表 其中一个模型数据,代码如下:
- INSERT INTO test(pname,pnum) VALUES(‘产品1′,’1,2,4′);
- INSERT INTO test(pname,pnum) VALUES(‘产品2′,’2,4,7′);
- INSERT INTO test(pname,pnum) VALUES(‘产品3′,’3,4′);
- INSERT INTO test(pname,pnum) VALUES(‘产品4′,’1,7,8,9′);
- INSERT INTO test(pname,pnum) VALUES(‘产品5′,’33,4′); --phpfensi.com
方法1,代码如下:
SELECT * FROM test WHERE find_in_set(’3′,pnum) OR find_in_set(’9′,pnum);
方法2,代码如下:SELECT * FROM test WHERE pnum REGEXP ‘(3|9)’;
PASS:记录,find_in_set()函数返回的所在的位置,如果不存在就返回0,代码如下:
SELECT find_in_set(‘e’,'h,e,l,l,o’);
用in的效果不是很好,代码如下:SELECT * FROM TEST WHERE id in(4,2,3);
如果想要按照ID为4,2,3这样排序呢?代码如下:
SELECT * FROM TEST WHERE id in(4,2,3) ORDER BY find_in_set(id,’4,2,3′);
Tags: find_in_set REGEXP查询字段
相关文章
- ·mysql数据库中find_in_set()和in()用法区别(2014-10-03)
- ·Mysql find_in_set()函数使用方法(2014-10-08)
- ·mysql数据库排序order by find_in_set例子(2015-04-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)