北京SEO

mysql find_in_set或REGEXP查询字段中指定字符内容

2019/10/10/17:36:12  阅读:1834  来源:谷歌SEO算法  标签: Dropbox

在mysql中如果我的数据存储是以(‘产品2′,’2,4,7′)这种格式的我们如果使用in可能有问题用like也不行,唯独使用find_in_set才比较精确了.

在使用织梦DEDECMS时,开启了织梦的主栏目、副栏目功能,而副栏目字段在mysql数据库中typeid2是以逗号,分隔栏目id组成字符串,需查询副栏目文章时,心情天空就需要下面的两个方法解决.

测试mysql 数据表 其中一个模型数据,代码如下:

  1. INSERTINTOtest(pname,pnum)VALUES(‘产品1′,’1,2,4′);
  2. INSERTINTOtest(pname,pnum)VALUES(‘产品2′,’2,4,7′);
  3. INSERTINTOtest(pname,pnum)VALUES(‘产品3′,’3,4′);
  4. INSERTINTOtest(pname,pnum)VALUES(‘产品4′,’1,7,8,9′);
  5. INSERTINTOtest(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′);

广告内容

mysql find_in_set或REGEXP查询字段中指定字符内容 mysql find_in_set或REGEXP查询字段中指定字符内容 mysql find_in_set或REGEXP查询字段中指定字符内容

相关阅读

热门评论

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法