登录 |  注册
首页 >  数据库 >  SQL >  SQL LIKE 运算符

SQL LIKE 运算符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

有两个通配符与LIKE运算符一起使用:

  • % - 百分号表示零个,一个或多个字符

  • _ - 下划线表示单个字符

注意: MS Access使用问号(?)而不是下划线(_)。 

百分号和下划线也可以组合使用! 

SQL LIKE 语法

SELECT column1, column2, ... FROM table_name
WHERE columnN LIKE pattern;

提示:您还可以使用AND或OR运算符组合任意数量的条件。

下面是一些使用'%'和'_'通配符显示不同LIKE运算符的例子:

LIKE 运算符描述

  • WHERE 地址 LIKE 'a%'查找以“a”开头的任何值

  • WHERE 地址 LIKE '%a'查找以“a”结尾的任何值

  • WHERE 地址 LIKE '%or%'在任何位置查找任何具有“or”的值

  • WHERE 地址 LIKE '_r%'在第二个位置查找任何具有“r”的值

  • WHERE 地址 LIKE 'a_%_%'查找以“a”开头且长度至少为3个字符的值

  • WHERE 地址 LIKE 'a%o'找到以"a"开头,以"o"结尾的值

演示数据库

以下是"account"表中的数据:

mysql> select * from account;
+----+--------+---------+
| id | name   | balance |
+----+--------+---------+
|  2 | hanmei |    2450 |
|  3 | lucy   |    5000 |
|  6 | lilei  |     450 |
+----+--------+---------+
3 rows in set (0.00 sec)

SQL LIKE 运算符实例

以下SQL语句选择以“l”开头姓名“name”的所有客户:

代码示例:

SELECT * FROM account where name like 'l%';

以下SQL语句选择以“e”在姓名中间的所有客户:

代码示例:

SELECT * FROM account where name like '%e%';

以下SQL语句选择以“i”结尾的“name”的所有客户:

代码示例:

SELECT * FROM account where name like '%i';
上一篇: SQLSELECTTOP,LIMIT,ROWNUM
下一篇: SQLWildcards通配符
推荐文章
  • mysql只支持一种join算法:Nested-LoopJoin(嵌套循环连接),但Nested-LoopJoin有三种变种:SimpleNested-LoopJoin,IndexNested-LoopJoin,BlockNested-LoopJoin(简单-索引-缓冲区)原理:1.SimpleNe
  • redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要redis持久化 redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制redis提供两种持久化机制RDB:存储数据结果,关注点在数据AOF:存储操作
  • 通过SQL的执行过程来介绍MySQL的基础结构.     首先有一个user_info表,表里有一个id字段,执行下面这条查询语句:Select * form user_info where i
  • 索引(Index)是帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,就像字典和书籍的目录一样,有了目录,可以帮助你快速查找你需要的内容。可以理解为一个排好序的快速查找数据结构。也就是
  • 说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什么要有四个隔离级别。今天我们就先来聊聊MySQL中事务的隔离性的实现原理,后续还会继续出文章分析其他特性的
  • 前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句
学习大纲