LIKE 操作符通常用于符合某种搜索模式的条件查询。
百分号(%)通配符表示任何子符出现的任意次数。
语法:
SELECT <column_name1>, <column_name2>, ... FROM <table_name> WHERE <column_name> LIKE "<pattern_words>%";
示例:找出 students 表中名字中以 T 开头的学生
SELECT * FROM students WHERE name LIKE "T%";
示例:找出 students 表中名字以既包含 a 也包含 n 的学生
SELECT * FROM students WHERE name LIKE "%a%" AND name LIKE "%n%";
下划线(_)通配符的用途与百分号(%)一样,但它只匹配单个字符,而不是多个字符。
示例:查找班级中名字第二个字符为 u 的人
SELECT * FROM students WHERE name LIKE "_u%";
示例:查找班级中名字是三个字符的人
SELECT * FROM students WHERE name LIKE "___";
方括号([])通配符表示括号内所列字符中的一个(类似与正则表达式)。
示例:找出所有名字以 A 或 T 开头的学生
SELECT * FROM students WHERE name LIKE '[AT]%';
[AT] 匹配方括号中任意一个字符,它也只能匹配单个字符。因此,任何多于一个字符的名字都不匹配。[AT] 之后的 % 通配符匹配第一个字符之后的任意数目的字符,返回所需结果。
此通配符可以用前缀字符脱字号(^)来否定。
示例:检索匹配以 A 和 T 之外的任意字符开头的任意名称
SELECT * FROM students WHERE name LIKE '[^AT]%';
通配符搜索一般比前面讨论的其他搜索要耗费更长的处理时间。
注意事项: