搜索条件中的模式匹配
LIKE 关键字搜索与指定模式匹配的字符串、日期或时间值。LIKE 关键字使用常规表达式包含值所要匹配的模式。模式包含要搜索的字符串,字符串中可包含四种通配符的任意组合。
通配符 含义
% 包含零个或更多字符的任意字符串。
_ 任何单个字符。
指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^] 不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。 请将通配符和字符串用单引号引起来,例如:
LIKE 'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。 LIKE '%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。 LIKE '%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 LIKE '_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。 LIKE '[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。 LIKE '[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。 LIKE 'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如 MacFeather)。
下列查询在 authors 表中查找所有区号为 415 的电话号码:
Select phone
FROM pubs.dbo.authors
Where phone LIKE '415%'
可以用同样的通配符使用 NOT LIKE。若要在 authors 表中查找区号不是 415 的所有电话号码,请使用下列等价查询中的任意一个:
<div class="codetitle"><a style="CURSOR: pointer" data="44244" class="copybut" id="copybut44244" onclick="doCopy('code44244')"> 代码如下: