美文网首页
SQL 通配符与特殊字符的查询

SQL 通配符与特殊字符的查询

作者: 开心果_9066 | 来源:发表于2018-11-09 22:58 被阅读0次

1. 背景

在搜索数据库中的数据时,我们经常会用到模糊查询,在模糊查询中,我们需要了解一些通配符。

2.SQL中的通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符:

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

3.实例

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

ID name age sex address
1 张三 18 上海市浦东新区三林镇三林路158号666
2 李四 20 上海市黄浦区中山南路888号
3 王五 19 湖北省武汉市汉阳区
4 赵六 22 湖北省黄冈市麻城市
3.1.使用 % 通配符

现在,我们希望从上面的 "Persons" 表中选取居住在以 "上海市" 开始的城市里的人:我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE address LIKE '上海市%'

期望结果:

ID name age sex address
1 张三 18 上海市浦东新区三林镇三林路158号666
2 李四 20 上海市黄浦区中山南路888号
3.2.使用 % 通配符

接下来,我们希望从 "Persons" 表中选取居住在包含 "武汉市" 的人。我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE address LIKE '%武汉市%'

期望结果:

ID name age sex address
3 王五 19 湖北省武汉市汉阳区
3.3.使用 _ 通配符

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "六" 的人。我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE name LIKE '_六'

期望结果:

ID name age sex address
4 赵六 22 湖北省黄冈市麻城市
3.4.使用 [charlist]通配符

现在,我们希望从上面的 "Persons" 表中选取名字以"张","王" 的人。我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE name  like ‘[张王]%’

期望结果:

ID name age sex address
1 张三 18 上海市浦东新区三林镇三林路158号666
3 王五 19 湖北省武汉市汉阳区
3.5.使用 [!charlist]通配符

现在,我们希望从上面的 "Persons" 表中选取名字不以"张","王" 的人。我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons WHERE name  like ‘[!张王]%’

期望结果:

ID name age sex address
2 李四 20 上海市黄浦区中山南路888号
4 赵六 22 湖北省黄冈市麻城市

4.特殊字符的查询

在模糊查询中,可能我们所需要匹配的字符就是特殊字符,例如:p_% 以p_开头的字符

5.1默认转义
SELECT * FROM table1 WHERE cloum1 LIKE 'p\_%';
5.2使用ESCAPE关键字定义转义符
SELECT * FROM table1 WHERE cloum1 LIKE 'p/_%'  ESCAPE  '/';

相关文章

  • SQL 通配符与特殊字符的查询

    1. 背景 在搜索数据库中的数据时,我们经常会用到模糊查询,在模糊查询中,我们需要了解一些通配符。 2.SQL中的...

  • 用通配符进行过滤和汇总数据

    一、用通配符进行过滤 通配符本身实际上是SQL的WHERE子句中有特殊含义的字符,SQL支持几种通配符。通配符只能...

  • SQLServer中的通配符和转义字符

    通配符 SQL中的通配符用来代替一个或者多个字符。 SQL通配符与LIKE运算符一起使用。 SQL Server中...

  • sql通配符使用-特殊符号处理-escape

    SQL 通配符在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符...

  • shell的通配符和特殊字符

    通配符 特殊字符

  • 2018.03.20 SQL2

    通配符 通配符可用于替代字符串中的任何其他字符 通常与 LINK 一同使用通配符一般用于搜索表中的数据 SQL通配...

  • MySQL创建查询

    %匹配任意长度的字符串,包括空字符串_下划线通配符只匹配单个字符 规则sql结构化查询语言 删除命令:drop d...

  • 数据库笔记-SQL过滤(LIKE&正则表达式)

    操作符LIKE与通配符 查询语句: 结果: MySQL的正则表达式 基本字符匹配 .匹配任意字符 查询语句: 结果...

  • 通配符

    模糊查询 = like + 通配符 通配符匹配模式%任意类型和长度的字符_任意单个字符[ ]括号范围所列字符中的一...

  • linux通配符与特殊字符

    实验环境 通配符 符号作用*匹配0个或多个任意字符?匹配一个任意字符,有且只有一个字符[abcd]匹配abcd中任...

网友评论

      本文标题:SQL 通配符与特殊字符的查询

      本文链接:https://www.haomeiwen.com/subject/jikaxqtx.html