SQ--模糊查询
Between..And
--between...and...在数据库内部是做作特殊优化的,执行效率比> and<等这种方式快;
--between a and b 相当于:字段>=a and字段<=b
例如:
SELECT * FROM dbo.MyStudent WHERE S_Age BETWEEN 20 AND 30
SELECT * FROM dbo.MyStudent WHERE S_Age>=20 AND S_Age<=30
Between ..and还可以做分页。
比如,我现在设置每一页显示3条数据
传统的做法:
第一页:
SELECT TOP 3 * FROM dbo.MyStudent
第二页:
SELECT *FROM dbo.MyStudent WHERE S_ID BETWEEN 4 AND 6
...
总结分页:
SELECT * FROM dbo.MyStudent WHERE S_ID BETWEEN (当前页-1)*页容量+1 AND 当前页*页容量
IN关键字
判断一个列的值,是否在括号内:
SELECT * FROM dbo.MyStudent WHERE S_Gender IN ('女')--正确
SELECT * FROM dbo.MyStudent WHERE S_Gender IN(1) --错误,数据类型不同【在将 varchar 值 '男' 转换成数据类型 int 时失败。】
模糊查询
使用系统已经定义好的通配符,按照定义的规则匹配数据,如果能匹配就查出来:
通配符,匹配符:_(下划线),%(百分号),[](中括号),^(尖括号)
_代表一个任意字符;
%代表零个或多个任意字符;
[]中括号代表一个字符的取值区间;
^配和[]使用,表示不是这个区间。注意,^z字符是数据库不兼容的,SQL Server可以用,其他数据库用not like
--查找姓“张”的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '张%'
--查找名字中包含字母‘o’的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%o%'
--查找名字的第二位是字母'i'的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '_i%'
--取值区间,用的很少。。
--查询中间任何位置有字母的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[a-z]%'
--取值区间,用的很少。。
--查询中间任何位置有数字的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[0-9]%'
--查找名字中有字母或数字的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[0-9,a-z]%'
--SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '张四'
--表中有名字为张四的学生,现在判断,_(下划线)是否可以匹配零个字符。如果可以的话,下面的这句SQL可以检索到数据
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '张四_'
事实证明:_下滑线不能匹配零个字符,也就是说,下划线代表后面必须有一个字符!!!
--查询最后一位不是数字的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[^0-9]%'
SQ--模糊查询的更多相关文章
- Mybatis框架的模糊查询(多种写法)、删除、添加(四)
学习Mybatis这么多天,那么我给大家分享一下我的学习成果.从最基础的开始配置. 一.创建一个web项目,看一下项目架构 二.说道项目就会想到需要什么jar 三.就是准备大配置链接Orcl数据库 & ...
- js—模糊查询
首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串. 以下例 ...
- mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE
一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条 ...
- combobox实现模糊查询自动填充
利用winform设计软件界面时,经常用到combobox控件,但有时需要绑定数据表中的数据,更进一步,需要实现对数据表中数据的模糊查询功能.本文就讲讲述如何用C#实现combobox下拉列表的模糊查 ...
- [转]ORACLE中Like与Instr模糊查询性能大比拼
instr(title,'手册')>0 相当于 title like '%手册%' instr(title,'手册')=1 相当于 title like '手册%' instr(titl ...
- 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...
- StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改
前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...
- SQL SERVER 的模糊查询 LIKE
今天写个动态脚本,需要把数据库里面包含“USER_"的表删除掉,突然想不起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用. LIKE模糊查询的通配符 通配符 ...
- SQL Like模糊查询一些小知识
模糊查询: where mc like '值':返回值等同于where mc ='值' where mc like '%值':匹配 名称是 '*值'(以“值”作为结尾)的所有数据,*表示任何值任何长度 ...
- 10月30日下午 PHP精确查询(模糊查询、模糊+关键字共同查询)
1.一个条件的模糊查询 <body> <br /> <form action="main.php" method="post"&g ...
随机推荐
- Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Stud ...
- java生成压缩文件
在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载.所以自己写了一个压缩文件的工具类.该工具类支持单个文件和文件夹压缩.放代码: import java.io.BufferedOutput ...
- SQL Server内存理解的误区
SQL Server内存理解 内存的读写速度要远远大于磁盘,对于数据库而言,会充分利用内存的这种优势,将数据尽可能多地从磁盘缓存到内存中,从而使数据库可以直接从内存中读写数据,减少对机械磁盘的IO请求 ...
- Python中的几种数据类型
大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"hello" ...
- tomcat项目无法发布异常,Could not copy all resources to .........(转)
[plain] <span style="font-size:18px;">Deployment failure on Tomcat 6.x. Could not c ...
- 知方可补不足~sqlserver中的几把锁~续
回到目录 之前写过相关的文章,对脏读,不可重复读,幻读都做了相当的研究,而今天在程序中又出现了这个问题,即当一条数据被update时,另一个线程同时发起了读的操作,这对于序列化级别的事务是不被允许的, ...
- [Java类加载器]Java中classLoader浅析.
本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下. 一.问题 请在Eclipse中新建如下类,并运行它: 1 package java.l ...
- JSP连接mysql数据库的重点
1:用mysql驱动把mysql与tomcat的连接起来.把mysql驱动包(不用解压)放到Tomcat安装目录中lib文件夹下即可. 2:然后在自己的新建的web应用程序上面就可以下下面的代码 3: ...
- Android 控件架构及View、ViewGroup的测量
附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...
- DataGridView的Cell事件的先后触发顺序
最近正在使用“DataGridView”对一个旧的Vs 2003开发的WINDOWS应用程序进行改造. 发现Vs 2003中的"DataGrid"中的一些事件已经在新的控件Data ...