在SQL结构化查询语言中,LIKE语句有着至关重要的作用。
  
LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。

A:%包含零个或多个字符的任意字符串
1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
B:_(下划线) 任何单个字符:LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:
1、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
D:[^] 不属于指定范围 ([a-f]) 或集合([abcdef]) 的任何单个字符:LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
E:* 它同于DOS命令中的通配符,代表多个字符:c*c代表cc,cBc,cbc,cabdfec等多个字符。
F:?同于DOS命令中的?通配符,代表单个字符 :b?b代表brb,bFb等
G:# 大致同上,不同的是代只能代表单个数字。k#k代表k1k,k8k,k0k 。
F:[!] 排除 它只代表单个字符

下面我们来举例说明一下:
  例1,查询name字段中包含有“明”字的。
  

select * from table1 where name like '%明%'

  
  例2,查询name字段中以“李”字开头。

select * from table1 where name like '李*'

  
  例3,查询name字段中含有数字的。

select * from table1 where name like '%[0-9]%'

  
  例4,查询name字段中含有小写字母的。

select * from table1 where name like '%[a-z]%'

  
  例5,查询name字段中不含有数字的。

select * from table1 where name like '%[!0-9]%'

  
  以上例子能列出什么值来显而易见。但在这里,我们着重要说明的是通配符“*”与“%”的区别。
  
  很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用"%"而不用“*”?先看看下面的例子能分别出现什么结果:


  1.   select * from table1 where name like '*明*'

  2.   select * from table1 where name like '%明%'

  
  大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有“明”的记录,所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“*”,用“*”的时候只在开头或者只在结尾时,而不能两端全由“*”代替任意字符的情况下。
注:mysql测试时使用select * from table1 where name like '%[!0-9]%'等数字类型判断时未能正确反馈结果!

来源:SQL语句 SELECT LIKE用法详解_牛儿吃草的博客-CSDN博客_sql查询like用法

SQL语句 SELECT LIKE用法详解相关推荐

  1. sql语句中exists用法详解

    文章目录 一.语法说明 exists: not exists: 二.常用示例说明 1.查询a表在b表中存在数据 2.查询a表在b表中不存在数据 3.查询时间最新记录 4.exists替代distinc ...

  2. 常用经典SQL语句大全完整版--详解+实例 (存)

    常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012  http://blog.sina.com.cn/s/blog_84 ...

  3. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...

    PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...

  4. PHP使用Switch语句判断星座,PHP的switch判断语句的“高级”用法详解 用switch语句怎样判断成绩的等级...

    php switch case 求具体详解,case里面能加if语句? swich 语句 我非常喜欢用 case里面加if干嘛 . php switch中能加if语句吗 PHP里 switch cas ...

  5. mysql经典sql语句大全_常用经典SQL语句大全完整版--详解+实例 (存)

    下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE, ...

  6. case when用法java,sql之case when用法详解

    简单CASE WHEN函数只能应对一些简单的业务场景,而CASE WHEN条件表达式的写法则更加灵活. CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句. 简单CASE WHEN函 ...

  7. 数据库知识点+sql语句增删改查(详解)

    # 数据库相关SQL 1.查询所有数据库 - 格式: show databases; 2.创建数据库 - 格式: create database 数据库名 charset=utf8/gbk; - 举例 ...

  8. SQL:OUTER JOIN用法详解

    SQL--JOIN用法 外联接. 外联接可以是左向外联接.右向外联接或完整外部联接.  在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定: LEFT JOIN 或 LEFT OUTE ...

  9. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

最新文章

  1. MATLAB“figure”使用详解
  2. 利用二级指针删除单向链表
  3. oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?
  4. Qt线程间通信-信号与槽通信
  5. (8)Verilog include 头文件使用路径(FPGA不积跬步101)
  6. XINS 3.0 正式版发布,远程 API 调用规范
  7. 微信公众号 获取推送消息
  8. PDF的图片怎么提取?这两种方法值得收藏
  9. 小白学 Python 数据分析(17):Matplotlib(二)基础操作
  10. JAVA-判断三阶矩阵是否满秩
  11. Can I debug relocated code at source-level with DS-5 Debugger?
  12. 微信里的小程序怎么制作
  13. Python自动化运维开发实战
  14. 门禁|梯控管理系统CPU卡读写器发卡器HX-WR03密码设置操作说明
  15. STM32的PWM和DAC练习中生成音频和波形
  16. 时间序列分析中的ARMA,ARIMA,ARC…
  17. NRF24L01无线模块设置发射接受模式方法
  18. 换手率高量比小是怎么回事?
  19. LNMP搭建过程详解,验证搭建论坛
  20. 国盟一年三度的研讨会面向广大的CISA考生

热门文章

  1. QT的QVBoxLayout类的使用
  2. C语言多种方法实现同一个功能
  3. java 经典语录_JavaSpring过时的经典语录
  4. 05_专家的快速入门、加载MNIST数据集、数据集切分和混淆、定义类的方式构建模型、选择优化器和损失函数、训练模型和测试模型准确率
  5. Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
  6. Spring整合Mongodb,Maven的依赖,Spring配置,MongoDB的公共操作类,使用SpringMVC的Controller进行测试并返回结果的案例
  7. Linux中的高级文本处理命令,cut命令,sed命令,awk命令
  8. 增强for循环,Map,集合应用
  9. SQL Server里那些我们应该知道的系统存储过程
  10. Kettle使用_16 闭包Closure Generator树形数据