在搜索数据库中的数据时,您可以使用 SQL 通配符。

SQL 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符

原始的表 (用在例子中的):

Persons 表:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

使用 % 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE 'Ne%'

结果集:

Id LastName FirstName Address City
2 Bush George Fifth Avenue New York

例子 2

接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '%lond%'

结果集:

Id LastName FirstName Address City
1 Adams John Oxford Street London

使用 _ 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE FirstName LIKE '_eorge'

结果集:

Id LastName FirstName Address City
2 Bush George Fifth Avenue New York

例子 2

接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE LastName LIKE 'C_r_er'

结果集:

Id LastName FirstName Address City
3 Carter Thomas Changan Street Beijing

使用 [charlist] 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'

结果集:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York

例子 2

现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '[!ALN]%'

结果集:

Id LastName FirstName Address City
3 Carter Thomas Changan Street Beijing

sql常识-SQL 通配符的更多相关文章

  1. sql搜索like通配符的用法详解

    http://www.lmwlove.com/ac/ID878 有很多朋友写了几年的like搜索,可能对like后面通配符的用法都不了解,甚至于%的作用是什么都不清楚.在这篇文章中,我们就一起来学习一 ...

  2. Sql Server中通配符

    Sql Server中通配符的使用 通配符_ "_"号表示任意单个字符,该符号只能匹配一个字符."_"可以放在查询条件的任意位置,且只能代表一个字符.一个汉字只 ...

  3. Sql Server中通配符的使用

    Sql Server中通配符的使用 通配符_ "_"号表示任意单个字符,该符号只能匹配一个字符."_"可以放在查询条件的任意位置,且只能代表一个字符.一个汉字只 ...

  4. SQL开发——SQL语法

    文档资料参考: 参考:http://www.w3school.com.cn/sql/sql_syntax.asp 参考:http://wiki.jikexueyuan.com/project/sql/ ...

  5. SQL Server SQL性能优化之--通过拆分SQL提高执行效率,以及性能高低背后的原因

    复杂SQL拆分优化 拆分SQL是性能优化一种非常有效的方法之一, 具体就是将复杂的SQL按照一定的逻辑逐步分解成简单的SQL,借助临时表,最后执行一个等价的逻辑,已达到高效执行的目的 一直想写一遍通过 ...

  6. SQL Server SQL分页查询

    SQL Server SQL分页查询的几种方式 目录 0.    序言 1.    TOP…NOT IN… 2.    ROW_NUMBER() 3.    OFFSET…FETCH 4.    执行 ...

  7. oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

     Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type ...

  8. pl/sql和sql的区别

    源地址:https://zhidao.baidu.com/question/187511430.html 1 sql(数据定义语言) 和PL/Sql的区别:答:SQL是结构化查询语言,比较接近自然语言 ...

  9. 对SQL Server SQL语句进行优化的10个原则

    1.使用索引来更快地遍历表. 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的.在非群集索引下,数据在物理上随机存放在数据页上.合理的索引设计要建立在对各种查询的分析和预测上.一般来说:①.有大 ...

随机推荐

  1. GMT、UTC、PDT 时间是什么?Linux下如何调整时区

       今天碰到一个时区配置问题,如果服务器时区配置不对,很可能在使用date相关函数时会出现莫名其妙的错误,现将相关时区说明及LINUX下调整时区方法记录如下,以做备忘. GMT GMT 是 Gree ...

  2. 从hello-world 开始 <contiki学习之四>

    按照contiki 官方给出的example下的例子之hello world来说,所有的工程里面都有一个唯一的Makefile.然后这个Makefile会去调用其他makefile文件.于是,一切就从 ...

  3. 中国软件开发project师之痛

    在最近的一次会议上,有高层谈到之前在中国觉得自己做得非常牛,但与美国同行接触后却发现与人家存在非常大的差距,这一点我在外企工作时也有过相同的体会.真正与外国同行接触后才会知道什么是差距,在这篇文章中我 ...

  4. Swift学习笔记一

    最近计划把Swift语言系统学习一下,然后将MagViewer用这种新语言重构一次,并且优化一下,这里记录一下Swift的学习笔记. Swift和Objective-C相比,在语法和书写形式上做了很多 ...

  5. iOS开发——网络编程Swift篇&(六)异步Post方式

    异步Post方式 // MARK: - 异步Post方式 func asynchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &q ...

  6. LINUX 运维命令

    查看3306端口被什么程序占用 [root@DB13 ~]# lsof -i : COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mysqld mysql ...

  7. js 控制div 显示隐藏的问题

    var divs = document.getElementsByTagName("div");得到所有的divfor(var i=0;i<divs.length;i++){ ...

  8. UNIX标准化及实现之POSIX标准可选头文件

    POSIX标准定义的可选头文件 头文件 说明 <aio.h> 异步I/O <mqueue.h> 消息队列 <pthread.h> 线程 <sched.h> ...

  9. C++_直接插入排序(纯C版)

    //用于比较大小 int compared(const void *key1,const void *key2) { cout<<"enter compare"< ...

  10. 详解MySQL中EXPLAIN解释命令

    Explain 结果解读与实践   基于 MySQL 5.0.67 ,存储引擎 MyISAM .   注:单独一行的"%%"及"`"表示分隔内容,就象分开“第一 ...