前言

在实际应用中,如果需要从数据库中检索数据,但又不能给出准确的字符串查询条件时,就可以使用like运算符和通配符来实现模糊查询。在like运算符前面可以使用not运算符,表示对结果取反。

基本内容

在这里涉及到一个like运算符和匹配字符串,它们的结合就构成了我们的模糊查询语句。

基本格式:列名 like 匹配串 ,符匹配串中可以包含普通字符,也可以包含通配符。

通配符:可以表示任意的字符或字符串,下面请看四种通配符所代表的含义。

1._(下划线):匹配任意一个字符。

2.%(百分号):匹配零个或多个字符。

3.[](大括号):匹配[]中任意一个字符。如[acdg]表示匹配a、c、d、g中的任何一个。若要比较的字符是连续的,则可以用连字符“-”表示。例如,若要匹配b、c、d、e中的任何一个字符,则可以表示为:[b-e],b字母至e字母中间的任意一个。

4.[^]:不匹配[]中的任意一个字符。如[^acdg]表示不匹配a、c、d、g。同样,要比较的字符是连续的,也可以用连字符“-”表示。

实例应用

查询姓张的学生的详细信息:

Select * from student where Sname like '张%'

查询不姓张的学生的详细信息:

Select * from student where Sname not like '张%'

查询姓张、李、刘的学生的详细信息:

Select * from student whereSname like '[张李刘]'

查询名字的第二个字为“大”或“小”的学生的姓名和学号:

Select sname,sno from student where Sno like '_[小大]'

查询student表中学号的最后一位不是2,3,5的学生的详细信息:

Select * from student where Sno like '%[^235]'

特别提示

如果要查找的字符串中正好含有通配符,比如下划线或百分号,就需要使用ESCAPE子句来标识。

格式:ESCAPE 转义字符

其中,转义字符是任何一个有效的字符,在匹配串中也包含这个字符,表明位于该字符后面的那个字符将被视为普通字符,而不是通配符。

例如,在fild字段中查找包含字符串30%的记录,可在where子句中指定:

Where field1 Like '%30!%%' ESCAPE '!'

又如,在field1字段中查找包含下划线(_)的记录,可在Where子句中指定:

Where field1 like '%!_%'ESCAPE '!'

结语

数据库的模糊查询可以让你在庞大的数据面前,轻松的找到自己需要的数据,多多积累。

【SQL Server】模糊查询相关推荐

  1. sql server模糊查询、分组

    一.系统函数  1.convert(类型[length] ,表达式[,样式])  2.isnull(表达式,默认值)  字符函数:   len() 长度   ltrim()|rtrim()去除左右空格 ...

  2. sql server 模糊查询

    模糊查询--like select * from 表名where id like '%2%' select * from 表名where id like 'd%%'  escape 'd' 查询时,字 ...

  3. SQL Server 2016 查询存储性能优化小结

    SQL Server 2016已经发布了有半年多,相信还有很多小伙伴还没有开始使用,今天我们来谈谈SQL Server 2016 查询存储性能优化,希望大家能够喜欢 作为一个DBA,排除SQL Ser ...

  4. SQL Server数据库查询速度慢的原因和解决方法

    SQL Server数据库查询速度慢的原因和解决方法 参考文章: (1)SQL Server数据库查询速度慢的原因和解决方法 (2)https://www.cnblogs.com/MyChange/p ...

  5. 优化SQL Server数据库查询方法

    本文详细介绍了优化SQL Server数据库查询方法. SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) ...

  6. SQL Server 2000查询n到m条记录

    SQL Server 2000查询n到m条记录? (1)select top m * from tablename where id not in (select top n id from tabl ...

  7. SQL Server 2005查询处理结构-用户模式计划(UMS)

    SQL Server 2005查询处理结构-用户模式计划(UMS) 在对数据库进行性能调优时,必须全面的考虑各种可能造成系统性能瓶颈的各种因素,因此深入了解SQL Server 2005的查询处理机构 ...

  8. SQL Server数据库查询区分大小写、全半角——排序规则的应用(转载)

    SQL Server数据库查询区分大小写.全半角--排序规则的应用 因为偶然的原因,需要在INNER JOIN联表时,让对应字段进行区分大小写的比较.而默认情况下建立的Sql Server数据库是不区 ...

  9. SQL server management 查询所有触发器

    SQL server management 查询所有触发器 SQL server management 查询所有触发器 SELECT OBJECT_NAME(a.parent_obj) AS [表名] ...

  10. SQL Server 语句查询手册

    建表: CREATE TABLE  [DB.dbo].tableName (Stud_id int CONSTRAINT  constraintName1  not null primary key, ...

最新文章

  1. 相参、相参积累和相参雷达
  2. Trie实现(C++)
  3. poj hdu Tian Ji -- The Horse Racing 贪心
  4. Spring Data Solr教程:Solr简介
  5. SpringBoot整合Encahce后,访问页面页面出现异常信息,无法获取返回数据
  6. 用Lightroom Classic CC2019 mac合并照片以创建全景和HDR全景
  7. Lambda表达式只是一颗语法糖?
  8. LLVM CLANG 3.1 GCC 4.7 INTEL CORE I7 BENCHMARKS
  9. php5 ereg,ereg / eregi替代PHP 5.3
  10. 机器学习预测股票涨跌
  11. 如何复制他人csdn博客文章到自己博客下
  12. Win10红警如何关闭3d加速?
  13. 一招技巧解决360搜索结果页展示网站LOGO
  14. 集中式存储和分布式存储
  15. 地理生物结业考_今年我初二,明天我地理生物结业考,但是我现在啥都不会,我应该怎么办?...
  16. python代码缩进和冒号_Python缩进和冒号详解
  17. netsh interface portproxy本地ip与端口映射及本地虚拟ip(windows)
  18. DBA的职业发展机会
  19. 网页无法打开, 位于 https://xxx 的网页无法加载,因为:net::ERR_NAME_NOT_RESOLVED
  20. Pytorch:优化器、损失函数与深度神经网络框架

热门文章

  1. 三、常规Dos命令附图
  2. 助力课堂智能点名 | 爱莫AI场景化应用(四)
  3. 浏览器自带开发工具你知道多少?
  4. 关于unity中使用solidwork模型材质及动画丢失问题
  5. 如何判断代理IP是高匿
  6. Python : numpy花式切片
  7. C++STL算法 search你是我的半截的诗
  8. 蚂蚁金服副总谈区块链
  9. 湖人行--(kobe bryant)
  10. Excel中如何输入前面带0的数值