Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SQL 教程

SQL 主页 SQL 简介 SQL 语法 SQL Select SQL Select Distinct SQL Where SQL Order By SQL And SQL Or SQL Not SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL 聚合函数 SQL Min 和 Max SQL Count SQL Sum SQL Avg SQL Like SQL 通配符 SQL In SQL Between SQL 别名 SQL 联接 SQL 内连接 SQL 左连接 SQL 右连接 SQL 全连接 SQL 自连接 SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL 空值函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 备份数据库 SQL 创建表 SQL 删除表 SQL 修改表 SQL 约束 SQL 非空 SQL 唯一 SQL 主键 SQL 外键 SQL 检查 SQL 默认值 SQL 索引 SQL 自动递增 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考资料

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL 集训营 SQL 证书

SQL 通配符


SQL 通配符

通配符用于替换字符串中的一个或多个字符。

通配符与 LIKE 运算符一起使用。 LIKE 运算符在 WHERE 子句中用于在列中搜索指定模式。

示例

返回所有以字母 'a' 开头的客户

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
自己尝试 »

通配符

符号 描述
% 表示零个或多个字符
_ 表示单个字符
[] 表示括号内的任何单个字符 *
^ 表示括号外的任何字符 *
- 表示指定范围内的任何单个字符 *
{} 表示任何转义字符 **

* PostgreSQL 和 MySQL 数据库不支持。

** 仅在 Oracle 数据库中受支持。


演示数据库

以下是示例中使用的 Customers 表的选定内容

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


使用 % 通配符

% 通配符表示任意数量的字符,甚至零个字符。

示例

返回所有以模式 'es' 结尾的客户

SELECT * FROM Customers
WHERE CustomerName LIKE '%es';
自己尝试 »

示例

返回所有包含模式 'mer' 的客户

SELECT * FROM Customers
WHERE CustomerName LIKE '%mer%';
自己尝试 »

使用 _ 通配符

_ 通配符表示单个字符。

它可以是任何字符或数字,但每个 _ 表示一个字符,且仅表示一个字符。

示例

返回所有 City 以任何字符开头,后跟 "ondon" 的客户

SELECT * FROM Customers
WHERE City LIKE '_ondon';
自己尝试 »

示例

返回所有 City 以 "L" 开头,后跟任意 3 个字符,以 "on" 结尾的客户

SELECT * FROM Customers
WHERE City LIKE 'L___on';
自己尝试 »

使用 [] 通配符

[] 通配符如果内部的任何字符匹配,则返回结果。

示例

返回所有以 "b"、"s" 或 "p" 开头的客户

SELECT * FROM Customers
WHERE CustomerName LIKE '[bsp]%';
自己尝试 »

使用 - 通配符

- 通配符允许您在 [] 通配符内指定一个字符范围。

示例

返回所有以 "a"、"b"、"c"、"d"、"e" 或 "f" 开头的客户

SELECT * FROM Customers
WHERE CustomerName LIKE '[a-f]%';
自己尝试 »

组合通配符

任何通配符,如 %_,可以与其他通配符组合使用。

示例

返回所有以 "a" 开头且至少有 3 个字符的客户

SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';
自己尝试 »

示例

返回所有在第二个位置有 "r" 的客户

SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
自己尝试 »

无通配符

如果没有指定通配符,则短语必须完全匹配才能返回结果。

示例

返回所有来自西班牙的客户

SELECT * FROM Customers
WHERE Country LIKE 'Spain';
自己尝试 »

Microsoft Access 通配符

Microsoft Access 数据库有一些其他的通配符

符号 描述 示例
* 表示零个或多个字符 bl* 找到 bl、black、blue 和 blob
? 表示单个字符 h?t 找到 hot、hat 和 hit
[] 表示括号内的任何单个字符 h[oa]t 找到 hot 和 hat,但不包括 hit
! 表示括号外的任何字符 h[!oa]t 找到 hit,但不包括 hot 和 hat
- 表示指定范围内的任何单个字符 c[a-b]t 找到 cat 和 cbt
# 表示任何单个数字字符 2#5 找到 205、215、225、235、245、255、265、275、285 和 295

用练习测试自己

练习

选择 City 的第二个字母为 "a" 的所有记录。

SELECT * FROM Customers
WHERE City LIKE '%';

开始练习


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.