解释LIKE 语句中的 % 和 _ 是什么意思?
参考答案:
在 SQL 的 LIKE
语句中,%
和 _
是两个特殊的通配符,用于模式匹配。
-
%:
%
代表零个、一个或多个字符。- 例如,
LIKE 'a%'
会匹配所有以 "a" 开头的字符串,如 "a", "ab", "apple", "aardvark" 等。 - 同样,
LIKE '%a%'
会匹配任何包含 "a" 的字符串,如 "a", "ba", "ab", "apple", "banana" 等。
-
_:
_
代表一个单一的字符。- 例如,
LIKE 'a_'
会匹配所有以 "a" 开头,并且长度为2的字符串,如 "ab", "ac", "ad" 等。 - 但它不会匹配 "a", "apple", 或 "aardvark",因为这些字符串不满足 "a" 后面紧跟一个字符的条件。
这两个通配符经常与 LIKE
语句一起使用,以执行基于模式的搜索。注意,这些通配符是大小写敏感的,除非你的数据库或特定的列设置为不区分大小写。
示例:
- 查询所有以 "a" 开头的名字:
SELECT * FROM students WHERE name LIKE 'a%';
- 查询所有名字中包含 "a" 的学生:
SELECT * FROM students WHERE name LIKE '%a%';
- 查询名字长度为3,且第二个字符是 "b" 的所有学生:
SELECT * FROM students WHERE name LIKE '_b%';
- 查询名字长度为5,且第三个字符是 "b" 的所有学生:
SELECT * FROM students WHERE name LIKE '__b__';