跳到主要内容

解释LIKE 语句中的 % 和 _ 是什么意思?

参考答案:

在 SQL 的 LIKE 语句中,%_ 是两个特殊的通配符,用于模式匹配。

  1. %

    • % 代表零个、一个或多个字符。
    • 例如,LIKE 'a%' 会匹配所有以 "a" 开头的字符串,如 "a", "ab", "apple", "aardvark" 等。
    • 同样,LIKE '%a%' 会匹配任何包含 "a" 的字符串,如 "a", "ba", "ab", "apple", "banana" 等。
  2. _

    • _ 代表一个单一的字符。
    • 例如,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__';