SQL Server中的模式匹配

发表于:2007-05-25来源:作者:点击数: 标签:sql匹配Author模式中的
Author: David Euler Date: 2004/11/17 Email: de_euler-david@yahoo.com.cn 有任何问题,请与我联系:) SQL Server Books Online上面搜索like,找到了包含%,_,[],[^]几个通配符。 如:select* from mybbs where Content like '[w]%' like关键字用于搜索匹配

Author: David Euler
Date: 2004/11/17
Email:
de_euler-david@yahoo.com.cn
有任何问题,请与我联系:)

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.

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 (Be.net, 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%'

原文转自:http://www.ltesting.net