mysql中IFIND_IN_SET和like的区别
在数据库中新建一张测试表t_user,包含三个字段'id','name','grilfriend',字段很容易看出,这是记录一个人的女朋友的表,注意这里的‘firlfriend’字段可以是多个人名,之间用逗号分开,如‘杨幂01,杨幂02’;这样的数据存储我们也经常见到。
CREATE TABLE `t_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`girlfriend` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
插入几条测试数据
INSERT INTO `t_user` VALUES ('', '狗蛋', '林心如8,安以轩8,范冰冰8');
INSERT INTO `t_user` VALUES ('', '狗剩', '林心如88,杨幂8,杨颖8');
INSERT INTO `t_user` VALUES ('', '石头', '范冰冰88,杨颖88');
数据显示如下:

下面我想查询'grilfrind中'包含”杨颖8″是谁的女朋友:
like 查询:
SELECT * from t_user where girlfriend like '%杨颖8%'
aaarticlea/png;base64,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" alt="" />
FIND_IN_SET查询:
SELECT * from t_user where FIND_IN_SET('杨颖8',girlfriend)

下面我想查询'grilfrind中'包含”杨颖88″是谁的女朋友:
like 查询:
SELECT * from t_user where girlfriend like '%杨颖88%'
aaarticlea/png;base64,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" alt="" />
FIND_IN_SET查询:
SELECT * from t_user where FIND_IN_SET('杨颖88',girlfriend)

结论:like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。
附加:函数简介
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
mysql中IFIND_IN_SET和like的区别的更多相关文章
- 用count(*)还是count(列名) || Mysql中的count()与sum()区别
Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `su ...
- (转)MySQL中In与Exists的区别
背景:总结mysql相关的知识点. 如果A表有n条记录,那么exists查询就是将这n条记录逐条取出,然后判断n遍exists条件. select * from user where exists s ...
- MySQL中interactive_timeout和wait_timeout的区别【转】
在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误: ERROR 2013 (HY000): Lost connection to MySQL s ...
- Mysql中函数和存储过程的区别
Mysql中函数和存储过程的区别 存储过程: 1. 可以写sql语句 2. inout,out构造返回值 3. 调用:call:存储过程名称 4. 可以 ...
- mysql中in和exist的区别
mysql中in和exists的区别 -- in写法select * from A where A.id in (select bid from B ) and A.name in (select ...
- MySQL中 utf8与utf8mb4的区别
MySQL中 utf8与utf8mb4的区别 一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在 ...
- MySQL 中NULL和空值的区别
平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ...
- mysql中char与varchar的区别分析(补充一句,int和integer没区别)
转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- MySQL 中NULL和空值的区别 (转载 http://blog.sina.com.cn/s/blog_3f2a82610102v4dn.html)
平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ...
随机推荐
- Docker on Microsoft Azure
Docker蓬勃发展,如日中天.微软自然也不甘落后,且不说即将发布的.支持Docker技术的Windows Nano Server和Windows Server 2016.我们来看看在Microsof ...
- 借用Snippet插件美化博客中的代码
书写博客,难免要贴出代码.然而直接贴出代码,则不美观.于是,应运而生出现了很多代码美化的插件.其中比较有名的是Syntax Highlighting插件. 笔者在网上翻阅的时候发现了Snippet ...
- ASP.NET执行模型之IIS服务器处理流程
之前在网上看过很多对这方面的讲解,但个人觉得看下来过于 "深奥",不容易理解,所以想用更简单的方式进行阐述,便于理解. 本次我们重点分析用户请求到页面呈现过程中Web服务器的处理过 ...
- UESTC 1015 Lweb and pepper --前,后缀最值
题意: n种食物,每种含花椒的概率为Pi,现在已经选择了[L,R]这个区间(下标)的食物,要再选一个,使总的食物只有一种含花椒的概率最大,问选哪个最好,相同的选下标小的. 解法: 就不写解法了.此处有 ...
- POJ2488A Knight's Journey[DFS]
A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 41936 Accepted: 14 ...
- string、math类、random随机数、datetime、异常保护
今天讲的知识点比较多,比较杂,以至于现在脑子里还有点乱,慢慢来吧... string (1)string.length; (获得你string字符串的长度) (2)a = a.Trim(); 重新赋值 ...
- jquery中取消和绑定hover事件的正确方式
在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bind去绑定hover方法呢?如何用unbind取消绑 ...
- c#描述异常处理语句try、catch、finally执行时的相互关系
try里面是执行代码,其中的代码"可能"产生异常. catch是对产生异常后的处理代码,可以抛出异常,也可以显示异常,也可以弹出某中提示,总之catch里是任何代码都行,如果你知道 ...
- dynamic获取类型可变的json对象
使用dynamic获取类型可变的json对象 Dictionary<string, object> dict = new Dictionary<string, object>( ...
- 认识HTML5的WebSocket
在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API.WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术.这个新的API提供了一个方法 ...