教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 数据库 > MYSQL教程 >

[原创]mysql的FIND_IN_SET字符串处理函数

时间:2014-01-07 16:59来源:未知 作者:ken 点击:

有时候设计数据表的时候会为了减少表的数量,而把一些相关的id通过逗号连接起来并保存,但是会增加更新的难度和查找难度!

首先我尝试使用like模糊搜索,始终是效率会比较低,最后找到了mysql自带的find_in_set函数

  • FIND_IN_SET(str,strlist)

假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(,)时将无法正常运行。

用户权限字段:power   内容:1,2,3,4,5 站长教学网 eduyo.com

select * from user where find_in_set('1',power)>0;

把拥有1权限的用户查询出来

 效率上我没对比过,直观上认为like模糊查询的效率最低。

(责任编辑:ken)
TAG标签: mysql 函数
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容