SQL Server中的模式匹配

Author: David Euler
Date: 2004/11/17
Email: [email protected]
有任何问题,请与我联系:)

SQL Server Books Online上面搜索like,找到了包含%,_,[],[^]几个通配符。
如:select * from mybbs where Content like '[w]%'
like关键字用于搜索匹配某个模式的字符串,或者日期,时间值。
SQL Server Books中的部分解释如下:

Pattern Matching in Search Conditions

The LIKE keyword uses a regular expression to contain the pattern that the values are matched against. The pattern contains the character string to search for, which can contain any combination of four wildcards.

WildcardMeaning
%Any string of zero or more characters.
_Any single character.
[ ]Any single character within the specified range (for example, [a-f]) or set (for example, [abcdef]).
[^]Any single character not within the specified range (for example, [^a - f]) or set (for example, [^abcdef]).

Enclose the wildcard(s) and the character string in single quotation marks, for example:

  • LIKE '%en%' searches for all strings that contain the letters en anywhere in the string (Bennet, Green, McBadden).

  • LIKE '_heryl' searches for all six-letter names ending with the letters heryl (Cheryl, Sheryl).

  • LIKE '[CK]ars[eo]n' searches for Carsen, Karsen, Carson, and Karson (Carson).

  • LIKE '[M-Z]inger' searches for all names ending with the letters inger that begin with any single letter from M through Z (Ringer).

  • LIKE 'M[^c]%' searches for all names beginning with the letter M that do not have the letter c as the second letter (MacFeather).

This query finds all phone numbers in the authors table that have area code 415:

SELECT phone
FROM pubs.dbo.authors
WHERE phone LIKE '415%'
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus