菜单
×
   ❮     
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 Aggregate Functions SQL Min and Max SQL Count SQL Sum SQL Avg SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null Functions SQL Stored Procedures SQL Comments SQL Operators

SQL 数据库

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Data Types

SQL 参考

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

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL Bootcamp 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 '%';

开始练习


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持