MySQL模糊查询语句整理集合
SQL模糊查询语句
一般模糊语句语法如下:
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
其中关于条件,SQL提供了四种匹配模式:
1、%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
SELECT * FROM [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用
SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
2、_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;
3、[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;
4、[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除“老1”到“老4”,寻找“老5”、“老6”、……
5、查询内容包含通配符时
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:
function sqlencode(str) str=replace(str,"[","[[]") '此句一定要在最前 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function
在查询前将待查字符串先经该函数处理即可。
以上就是SQL模糊查询语句的详细内容,如果大家还有任何补充可以联系我们小编。
相关推荐
-
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
本文实例讲述了PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能.分享给大家供大家参考,具体如下: 一.代码 td{ font-size:9pt; } .style2 {color: #FFFFFF} <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>
-
mysql中使用instr进行模糊查询方法介绍
在mysql中使用内部函数instr,可代替传统的like方式查询,并且速度更快. instr 函数,第一个参数是字段,第二个参数是要查询的串,返回串的位置,第一个是1,如果没找到就是0. 例如,查询字段name中带"军"的名字,传统的方法是: select name from 用户表 where name like `%军%'; 用instr的方法: select name from 用户表 where instr('name','军'); 或: select name from 用
-
Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办
项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空. 由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码. try { realName = new String(realName.getBytes("GBK"), "UTF-8"); } catch (UnsupportedEncodingException exce
-
PHP+MySQL实现模糊查询员工信息功能示例
本文实例讲述了PHP+MySQL实现模糊查询员工信息功能.分享给大家供大家参考,具体如下: 一.代码 注意两点: 1.用Notepad+编辑时,格式选择:[编码字符集]->[中文]->[gb2312] 2. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> conn.php <?php $connID=mysql_connect("lo
-
浅谈MySQL模糊查询中通配符的转义
sql中经常用like进行模糊查询,而模糊查询就要用到百分号"%",下划线"_"这些通配符,其中"%"匹配任意多个字符,"_"匹配单个字符.如果我们想要模糊查询带有通配符的字符串,如"60%","user_name",就需要对通配符进行转义,有两种方式.如下: 1.反斜杠是转义符,通过反斜杠来转义%,使其不再是通配符.这里第一个%是通配符,第二个%不是通配符. select perc
-
mysql模糊查询like与REGEXP的使用详细介绍
前言 在mysql中实现模糊查询的有like和regexp.本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧. like模式 like意思是长得像,有两个模式:_和% _表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意"王"后面有两个_ select name from 表名 where name like '王__'; %表示0个或多个任意字符,如查出所有姓王的人名 select name from 表名 w
-
MySQL模糊查询语句整理集合
SQL模糊查询语句 一般模糊语句语法如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1.%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. SELECT * FROM [user] WHERE u_name LIKE '%三%' 将会把u_name为"张三","张猫三"."三脚猫","唐三藏"等等有&
-
mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器的实现
目录 1.使用mybatis提供的拦截器拦截所有的查询请求. 2.定义SQL语句转义模板,分别对Map和Object对象进行处理 mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器 在开发中,我们通常会遇到这样的情况.用户在录入信息是录入了'%',而在查询时无法精确匹配'%'.究其原因,'%'是MySQL的关键字,如果我们想要精确匹配'%',那么需要对其进行转义. 1.使用mybatis提供的拦截器拦截所有的查询请求. 具体实现在代码中均有注释 import lombok.e
-
MySQL DML语句整理汇总
DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查询(select),是开发人员日常使用最频繁的操作. 1.插入(insert) 格式1. INSERT INTO emp(ename,hiredate,sal,deptno) VALUES('zzx1','2000-01-01','2000',1); 格式2. INSERT INTO emp VALUES('lisa','2003-02-01','3000',2); 不用指定
-
MySQL语句汇总整理
目录 1.选择数据库 USE 2.显示信息 SHOW 3.创建表 CREATE TABLE 4.插入数据 INSERT 1.选择数据库 USE 刚链接到MySQL时,没有数据库打开供你使用,而我们需要选择一个数据库,才能进行以下的操作. 方法:USE语句 USE Mdatabase; 如此,才能打开数据库,读取其中的数据 2.显示信息 SHOW MySQL从内部表中提取信息 SHOW database; 返回可用数据库的一个列表 SHOW tables; 返回数据库内的表的列表 SHOW col
-
MySQL磁盘碎片整理实例演示
目录 1.磁盘碎片是什么 2.实验 3.对于碎片回收操作 4.后记 补充:如何优化磁盘空间 数据库引擎以InnoDB为主 1.磁盘碎片是什么 InnoDB表的数据存储在页中,每个页可以存放多条记录,这些记录以树形结构组织,这棵树称为B+树. 聚簇索引的叶子结点包含行中所有字段的值,辅助索引的叶子结点包含索引列和主键列. 在InnoDB中,删除一些行,这些行只是被标记已删除,而不会立即删除,个人认为和电脑的清除磁盘相同,之后可以通过覆盖旧数据实现删除,InnDB的Purge线程会异步的清理这
-
包你学会批处理整理集合第1/3页
写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人.一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前... 先概述一下批处理是个什么东东.批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道---看了我也不一定信服----我是个菜鸟,当然就更不用说了:但我想总结出一个"比较合适的",而且我也相信自己可以把它
-
php正则表达式使用方法整理集合
平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 匹配数字 "^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮
-
Node.js中JavaScript操作MySQL的常用方法整理
一.建立数据库连接:createConnection(Object)方法 该方法接受一个对象作为参数,该对象有四个常用的属性host,user,password,database.与php中链接数据库的参数相同.属性列表如下: host: 连接数据库所在的主机名. (默认: localhost) port: 连接端口. (默认: 3306) localAddress: 用于TCP连接的IP地址. (可选) socketPath: 链接到unix域的路径.在使用host和port时该参
-
超级全面的PHP面试题整理集合第1/2页
1.用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分) 2.echo(),print(),print_r()的区别(3分) 3.能够使HTML和PHP分离开使用的模板(1分) 4.使用哪些工具进行版本控制?(1分) 5.如何实现字符串翻转?(3分) --------------------------------------------------------------- 6.优化MYSQL数据库的方法.(4分,多写多得) 7.PHP的意思(送1分) 8.MYSQL取
-
基于jQuery选择器的整理集合
jquery对象访问1.each(callback):以每个匹配的元素作为上下文来执行一个函数,return false;停止循环;return true;跳至下一个循环. 来个实例 : 复制代码 代码如下: $("img").each(function(){ $(this).toggle("example");}) 2.size()与length相同,都是返回jquery对象中元素的个数. $("img").size();或
随机推荐
- perl的POD权限问题处理
- 深入浅析Linux轻量级自动运维工具-Ansible
- Swift编程中的初始化与反初始化完全讲解
- php中文字符串截取多种方法汇总
- asp解密、还原chrw、chr编码文件的方法
- 多种方法实现当jsp页面完全加载完成后执行一个js函数
- C# Dynamic关键字之:调用属性、方法、字段的实现方法
- 去掉mysql连接时报警声音的方法
- js实现连个数字相加而不是拼接的方法
- JS点击缩略图整屏居中放大图片效果
- Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享
- 为开发者准备的10款最好的jQuery日历插件
- 图片之间的切换
- serv_u 中文教程[图文]
- 利用TaskManager爬取2万条代理IP实现自动投票功能
- C# 基础入门--关键字
- spring WebSocket示例详解
- STl中的排序算法详细解析
- Android Button的基本用法详解及简单实例
- Android如何自定义EditText下划线?