查询所有姓张的同学
Select * from student where left(sName,1)=‘张‘   看上去很美,如果改成查询名字中带亮的学生怎么做?
换一种做法 like  
Select  * from student where sName like ‘张%’    会吧所有姓张的都查询到,现在我想查询姓张并且名字是一个字的学生?
Select  * from student where sName like ‘%亮%’
^只有MSSQL Server支持,其他DBMS用not like。
通配符 %多字符匹配的通配符,它匹配任意次数(零或多个)出现的任意字符
通配符_ 单字符匹配,它匹配单个出现的字符
[] 只匹配一个字符  并且这个字符必须是[]范围内的    [0-9]  [a-z]
not与like一起使用:not like ….
要通配_、%、[、^这些字符怎么办?[_]、[%]、[ [ ]、^(不需要放到中括号里,因为^只有放到中括号中才认为是通配符)
注意:like 'a%'与like'%a'的区别。  前者查询首字符为a的,后者查询末位为a的。

 

--通配符:_    、  %   、 []   、 ^

--  _  表示任意的单个字符

--姓张,两个字的。

select * from MyStudent where fname like '张_'

--姓张,三个字的

select * from MyStudent where fname like '张__'

 

-- % 匹配任意多个任意字符

--无论姓名字数,只要第一个字符是'张'的就查询出来

select * from MyStudent where fname like '张%'

select * from MyStudent where fname like '张%' and len(fname)=2

 

--  []  表示筛选,范围。

--查询出姓名中包含某些值的那些人

select * from TblStudent where tsname like '张[0-9]妹'

select * from TblStudent where tsname like '张_妹'

select * from TblStudent where tsname like '张[a-z]妹'

select * from TblStudent where tsname like '张[a-z0-9]妹'

select * from TblStudent where tsname like '张[^0-9]妹'

select * from TblStudent where tsname not like '张[0-9]妹'

update TblStudent set tsname=replace(tsname,'(女)','')

--通配符放到[]中就转义了就不认为是通配符了。

--查询出姓名中包含%的那些人

select * from TblStudent where tsname like '%[%]%'

--自己指定一个转义符

--WHERE ColumnA LIKE '%5/%%' ESCAPE '/'

select * from TblStudent where tsname like '%/]%' ESCAPE '/'

select * from TblStudent where tsname like '%/[%'  ESCAPE '/'

select * from TblStudent where tsname like '%/[%/]%'  ESCAPE '/'

 

sql server 的模糊查询的用法的更多相关文章

  1. SQL SERVER 的模糊查询 LIKE

    今天写个动态脚本,需要把数据库里面包含“USER_"的表删除掉,突然想不起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用. LIKE模糊查询的通配符 通配符 ...

  2. [SQL Server 系] -- 模糊查询

    SQL Server中的通配符有下面四种 通配符 说明 % 包含零个或多个字符的任意字符串 _(下划线) 任意单个字符 [ ] 任意在指定范围或集合中的单个字符 [^ ] 任意不在指定范围或集合中的单 ...

  3. SQL Server数据库————模糊查询和聚合函数

    ***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,)  匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两 ...

  4. sql server 日期模糊查询

    转换成varchar类型 ) like '%2010-10-09%' 两个字段拼接成一个字段 SELECT C0252_ID, C0252_name,C0252_Addr, ((select top ...

  5. 【转】SQL Server T-SQL高级查询

    SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; //查询student ...

  6. Sql Server 存储过程中查询数据无法使用 Union(All)

    原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...

  7. SQL Server中bcp命令的用法以及数据批量导入导出

    原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...

  8. SQL SERVER中XML查询:FOR XML指定PATH

    SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...

  9. SQL Server数据库————连接查询和分组查询

    SQL Server数据库————连接查询和分组查询 分组查询 select 列from  <表名> where  …… group by  列 注意:跟order  by一样group ...

随机推荐

  1. Python--递归函数实现:多维嵌套字典数据无限遍历

    原创:多层嵌套字典无限遍历,实现当value值以特殊字符$开头,并且等于某项值时,用随机函数替换该参数 """处理前的字典{'patient': {'avatarPic' ...

  2. nginx与PHP编译configure

    configure参数nginx和php是编译安装的关键.记录下来备用: php: ./configure --prefix=/usr/local/php --with-config-file-pat ...

  3. An unavoidable detour for home CodeForces - 814E (dp)

    大意: 给定一棵树每个点的度数, 求所有满足条件的树的个数 每个点到$1$的最短路唯一 假设$l_i$为点$i$到$1$的最短距离, 那么$l_i\ge l_{i-1}$ 每个点度数范围$2\le d ...

  4. manacher 算法(最长回文串)

    manacher算法: 定义数组p[i]表示以i为中心的(包含i这个字符)回文串半径长 将字符串s从前扫到后for(int i=0;i<strlen(s);++i)来计算p[i],则最大的p[i ...

  5. 关于utf8mb4的使用

    针对mysql数据库存储一些特殊字符或者emoji的字符,所需要的编码类型.实际上基于efcore框架的情况下,codefirst自动迁移生成的数据库的默认编码格式,就是utf8mb4,以前的时候记得 ...

  6. C#笔试题目总结

    基础 知识点 try catch finally的执行顺序(有return的情况下): 不管有没有出现异常,finally块中代码都会执行: 当try和catch中有return时,finally仍然 ...

  7. 如何将SolidWorks文件另存为.obj文件及如何打开.obj格式文件

    原网站:http://fans.solidworks.com.cn/forum.php?mod=viewthread&tid=40238) OBJ文件是Alias Wavefront公司为它的 ...

  8. SAP Marketing Cloud功能简述(一) : Contacts和Profiles

    Dong Grace是Jerry的同事,目前是SAP成都研究院数字创新空间团队的一名实习生,明年7月才毕业.这篇文章是Grace对SAP Marketing Cloud功能梳理的一篇学习笔记,因为篇幅 ...

  9. JAVA中使用递归和尾递归实现1000的阶乘的比较

    在JAVA中求阶乘首先遇到的问题就是结果溢出,不管是使用int还是long,double都无法表示1000!这么大的天文数字,这里暂且用BigInteger解决这个问题! 下面是使用递归和尾递归分别计 ...

  10. 【年度盘点】最受欢迎的5大Java练习项目

    5. SSM + easyUI 搭建简易的人事管理系统 当前学习采用 SSM + easyUI 来开发一个比较简易的人事管理系统,让大家能够通过实际项目掌握 SSM 项目的开发.项目当前学习人数:16 ...