SQL Server中的模式匹配

作者:未知 来源:未知 添加时间:2006年7月3日 字体:

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 &#118alues are matched against. The pattern contains the character string to search for, which can contain any combination of four wildcards.





Wildcard
Meaning

%
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%'

    ppdesk