SQL通配符
3705
SQL 通配符
我们已经讨论过 SQL 的 LIKE 操作符了,它可以利用通配符来对两个类似的值作比较。
SQL 支持以下两个通配符与 LIKE 操作符一起使用:
通配符 | 描述 |
百分号(%) | 匹配一个或者多个字符。注意:MS Access 使用星号(*)作为匹配一个或者多个字符的通配符,而不是百分号(%)。 |
下划线(_) | 匹配一个字符。注意:MS Access 使用问号(?),而不是下划线,来匹配任一字符。 |
百分号代表零个、一个或者多个字符。下划线代表单一的字符。这些符号可以组合在一起使用。
语法
“%” 和 “_” 的基本语法如下所示:
SELECT FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'
你可以用 AND 或 OR 操作符将多个条件合并在一起。这里,XXXX 可以为任何数值或者字符串。
示例
语句 | 描述 |
WHERE SALARY LIKE '200%' | 找出任何以 200 开头的值。 |
WHERE SALARY LIKE '%200%' | 找出任何存在 200 的值。 |
WHERE SALARY LIKE '_00%' | 找出任何第二个位置和第三个位置为 0 的值。 |
WHERE SALARY LIKE '2_%_%' | 找出任何以 2 开始,并且长度至少为 3 的值。 |
WHERE SALARY LIKE '%2' | 找出任何以 2 结尾的值。 |
WHERE SALARY LIKE '_2%3' | 找出任何第二个位置为 2,并且以 3 结束的值。 |
WHERE SALARY LIKE '2___3' | 找出任何以 2 开始,以 3 结束的五位数。 |
让我们来看一个真实的例子,考虑拥有如下记录的 CUSTOMERS 表:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
下面的示例将会找到 CUSTOMER 表中所有 SALARY 以 200 开头的记录,并显示出来:
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
结果如下所示:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+
原文链接: https://www.yukx.com/moran/article/details/1019.html 优科学习网SQL通配符
推荐文章
-
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中事务的隔离性的实现原理,后续还会继续出文章分析其他特性的
-
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句
学习大纲
3.21 SQL通配符