Mysql 简明教程
MySQL - Wildcards
The MySQL wildcards
MySQL wildcards 是与 LIKE 运算符结合使用的特殊字符,用于搜索表列中的文本模式。MySQL 提供两种通配符:百分号(%)和下划线(_)。
下表说明了 MySQL 中两种通配符的用例:
The MySQL Percent % Wildcard
MySQL % 通配符是 SQL 查询中用于模式匹配的符号。它表示字符串中的任何字符序列(包括零个字符)。
与 WHERE 子句中的 LIKE 运算符一起使用时,% 允许您搜索与指定模式匹配的值。
Example
首先,让我们使用以下查询创建一个名为 CUSTOMERS 的表 −
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR(20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(25) NOT NULL,
SALARY DECIMAL(18, 2),
PRIMARY KEY(ID)
);
现在,让我们使用 INSERT 语句将值插入上述创建的表中,如下所示:
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 );
获得的 CUSTOMERS 表如下:−
在这里,我们正在检索 CUSTOMERS 表中 SALARY 以 2000 开头的所有记录:
SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '2000%';
The MySQL Underscore _ Wildcard
MySQL 下划线通配符表示其使用位置处的单个字符。当与 WHERE 子句中的 LIKE 运算符结合使用时,下划线通配符使您能够搜索与单个字符占位符匹配特定模式的值。
Example
在本文示例中,我们检索以某个字符开头并后跟“ardik”的全部 CUSTOMERS 名称 −
SELECT * FROM CUSTOMERS
WHERE NAME LIKE '_ardik';
Example
现在,我们检索以“M”开头,后跟任意字符,后跟“f”,后跟任意字符,后跟“y”的全部 CUSTOMERS 名称 −
SELECT * FROM CUSTOMERS
WHERE NAME LIKE 'M_f_y';
Example
在下面的查询中,我们检索 SALARY 的第二位、第三位和第四位包含“500”的所有记录 −
SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '_500%';