改变不了世界, 改变下自己也挺好

MYSQL小函数大用途之-------FIND_IN_SET

没有前言和解释,直接看怎么用

当前我所知道两种用法:

第一种:和like的作用有点相似,但用这个函数会比like更准确的查到你想要的数据。

前提是当前的字段满足俩个要求:

  1. 类型为字符型。
  2. 储存格式为-----> 字符1,字符2,字符3.........

 这是一张表,什么表不重要。

情况一:运行下面语句

select * from admin_group where FIND_IN_SET(1,rules);

结果:

select * from admin_group where FIND_IN_SET('1200',rules);

结果:

 

情况二:注意现在字段是id了

SELECT * from admin_group where FIND_IN_SET(id,'1,2');

 

结果:

 

 

SELECT * from admin_group where FIND_IN_SET(id,'1,2,4,5,15');

  

结果:

 

第二种:利用这个函数规定某些值自定义排序

同 desc,asc 排序一起用的时候会有影响,看下面的语句和结果自行体会吧

SELECT * from admin_group ORDER BY FIND_IN_SET(id,'16,15,1');

  

结果:

 

SELECT * from admin_group ORDER BY id desc,FIND_IN_SET(id,'16,15,1');

  

结果:

 

SELECT * from admin_group ORDER BY id desc,FIND_IN_SET(id,'15,16,1,2');

  

结果:

 

 

SELECT * from admin_group ORDER BY `status` desc,FIND_IN_SET(id,'16,15,1,2');

  这里我把其中的一调数据status改成了2,为了更直观。

结果:

 

 

 

 

 

 

《--------------------------------------------------------------------------------华丽分割线-----------------------------------------------------------------------------------------------------------》

 后续发现其他用的地方再更新。。。。。。。。。。。。。

 

posted @ 2019-02-28 17:13  heiue  阅读(192)  评论(0)    收藏  举报