Like 作为Where条件中的常用子句, 一般需要搭配通配符使用。
通配符
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符。 |
_(下划线) | 任何单个字符。 |
[charlist] | 正则匹配模式,表示字符列中的任何单一字符。 |
[^charlist] 或 [!charlist] | 正则匹配模式,表示不在字符列中的任何单一字符。 |
使用 " _" 和 “%” 通配符示例
#选取 name 以字母 "G" 开始的所有客户
SELECT * FROM Websites
WHERE name LIKE 'G%';
#选取 name 以字母 "k" 结尾的所有客户
SELECT * FROM Websites
WHERE name LIKE '%k';
# 选取 name 包含模式 "oo" 的所有客户
SELECT * FROM Websites
WHERE name LIKE '%oo%';
#选取 name 不包含模式 "oo" 的所有客户
SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';
使用[charlist] 通配符示例
在oracle中,需要搭配 REGEXP 或 NOT REGEXP; 在Mysql中,使用RLIKE 或 NOT RLIKE。
#选取 name 以 "G"、"F" 或 "s" 开始的所有网站
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';
#选取 name 以 A 到 H 字母开头的网站
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';
参考链接: https://www.runoob.com/sql/sql-wildcards.html