Sql 简明教程
SQL - Wildcards
SQL Wildcards
SQL Wildcards 是用作字符串中一个或多个字符的替代品的特殊字符。它们与 SQL 中的 LIKE 运算符一起使用,用于在字符串中搜索特定的模式或比较不同的字符串。
SQL 中的 LIKE 运算符区分大小写,因此它只匹配与指定模式完全相同大小写的字符串。
以下是 SQL 中最常用的通配符 −
S.No. |
Wildcard & Description |
1 |
The percent sign (%) 匹配一个或多个字符。 Note − MS Access 使用星号 (*) 通配符字符,而不是百分号 (%) 通配符字符。 |
2 |
The underscore () 匹配一个字符。 Note − MS Access 使用问号 (?),而不是下划线 () 匹配任何一个字符。 |
百分号 (%) 表示字符串内零个、一个或多个字符。下划线 (_) 表示一个字符或数字。这些符号还可以组合使用,以在 SQL 查询中执行复杂的模式搜索和匹配。
Syntax
以下是使用通配符的基本语法 -
SELECT * FROM table_name
WHERE column_name LIKE [wildcard_pattern];
我们可以使用 AND 或 OR 运算符组合 N 个条件。此处,[wildcard_pattern] 可以表示任何数字或字符串值。
下表演示了在 WHERE 子句中结合 LIKE 运算符使用通配符的各种方式:
S.No. |
Statement & Description |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
WHERE SALARY LIKE '2___3' 在以 2 开头、以 3 结尾的五位数中查找任何值。 |
Example
首先,让我们使用以下查询创建一个名为 CUSTOMERS 的表 -
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
以下 INSERT 查询向 CUSTOMERS 表中添加记录 -
INSERT INTO CUSTOMERS VALUES
(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, 'Hyderabad', 4500.00),
(7, 'Muffy', 24, 'Indore', 10000.00);
该表将被创建为:
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 |
Hyderabad |
4500.00 |
7 |
Muffy |
24 |
Indore |
10000.00 |
此处,我们显示了 CUSTOMERS 表中 SALARY 以 200 开头的所有记录。
SELECT * FROM CUSTOMERS WHERE SALARY LIKE '200%';