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 来避免这种低效 ...
随机推荐
- Notes on <Assembly Language step by step>
By brant-ruan Yeah, I feel very happy When you want to give up, think why you have held on so long. ...
- APDU
# APDU # 定义:APDU(ApplicationProtocolDataUnit--应用协议数据单元).协议数据单元PDU(ProtocolDataUnit)是指对等层次之间传递的数据单位.协 ...
- HQL基础查询语句
HQL基础查询语句 1.使用hql语句检索出Student表中的所有列 //核心代码 @Test public void oneTest() { Query query=session.createQ ...
- document对象补充
五.相关元素操作: var a = document.getElementById("id"); 找到a: var b = a.nextSibling ...
- java内存设置
在上边红色框内加入java内存设置命令: -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
- Javascript备忘复习笔记2
一.函数与形参 1.函数 function abs(x) { if (x >= 0) { return x; } else { return -x; } } alert(abs(-10)); 2 ...
- Java读写文本文件
1 字符输入(FileReader , char) import java.io.IOException; import java.io.FileReader; public class ep10_1 ...
- win7 远程桌面关机
在任务管理器中, 打开运行窗口, 执行 shutdown -s 命令, 将在30秒后关闭win7, 如果需要更快, 加上 -t 10 参数 关于 shutdown 的命令行说明: C:\Users\R ...
- QT QToolBox类
QToolBox类的创建 //drawer.h #ifndef DRAWER_H #define DRAWER_H #include <QToolBox> #include <QTo ...
- 基于Spring的简易SSO设计
通常稍微规模大一些的企业,内部已经有很多的应用系统,多个系统整合首先要解决的便是“统一登录(SSO)”问题,之前写过一篇 利用Membership实现SSO(单点登录) ,java环境下已经有一些开源 ...