SQL Server 2005 联机丛书 [ ](通配符 - 要匹配的字符)以下示例使用 [] 运算符查找其地址中有四位邮政编码的所有 Adventure Works 雇员的 ID 和姓名。USE AdventureWorks; GO SELECT e.EmployeeID, c.FirstName, c.LastName, a.PostalCode FROM HumanResources.Employee AS e INNER JOIN Person.Contact AS c ON e.ContactID = c.ContactID INNER JOIN HumanResources.EmployeeAddress AS ea ON e.EmployeeID = ea.EmployeeID INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]'; GO EmployeeID FirstName LastName PostalCode ---------- --------- --------- ---------- 290 Lynn Tsoflias 3000
SQL Server 2005 联机丛书 [^](通配符 - 无需匹配的字符)以下示例使用 [^] 运算符在 Contact 表中查找所有名字以 Al 开头且第三个字母不是字母 a 的人。 USE AdventureWorks; GO SELECT FirstName, LastName FROM Person.Contact WHERE FirstName LIKE 'Al[^a]%' ORDER BY FirstName;
SQL Server 2005 联机丛书
_(通配符 - 匹配一个字符)匹配涉及模式匹配的字符串比较操作(如 LIKE 和 PATINDEX)中的任何单个字符。 以下示例使用 _ 运算符查找 Contact 表中的所有人(包含一个以 an 结尾的三字母名字)。 USE AdventureWorks; GO SELECT FirstName, LastName FROM Person.Contact WHERE FirstName LIKE '_an' ORDER BY FirstName;
SQL Server 2005 联机丛书 [^](通配符 - 无需匹配的字符)以下示例使用 [^] 运算符在 Contact 表中查找所有名字以 Al 开头且第三个字母不是字母 a 的人。 USE AdventureWorks; GO SELECT FirstName, LastName FROM Person.Contact WHERE FirstName LIKE 'Al[^a]%' ORDER BY FirstName;
GO
SELECT e.EmployeeID, c.FirstName, c.LastName, a.PostalCode
FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c ON e.ContactID = c.ContactID
INNER JOIN HumanResources.EmployeeAddress AS ea ON e.EmployeeID = ea.EmployeeID
INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID
WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]';
GO
EmployeeID FirstName LastName PostalCode
---------- --------- --------- ----------
290 Lynn Tsoflias 3000
[^](通配符 - 无需匹配的字符)以下示例使用 [^] 运算符在 Contact 表中查找所有名字以 Al 开头且第三个字母不是字母 a 的人。
USE AdventureWorks;
GO
SELECT FirstName, LastName
FROM Person.Contact
WHERE FirstName LIKE 'Al[^a]%'
ORDER BY FirstName;
_(通配符 - 匹配一个字符)匹配涉及模式匹配的字符串比较操作(如 LIKE 和 PATINDEX)中的任何单个字符。
以下示例使用 _ 运算符查找 Contact 表中的所有人(包含一个以 an 结尾的三字母名字)。
USE AdventureWorks;
GO
SELECT FirstName, LastName
FROM Person.Contact
WHERE FirstName LIKE '_an'
ORDER BY FirstName;
包含零个或多个字符的任意字符串。
_
任何单个字符。
[ ]
指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^]
不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。
2000惨一点要写扩展存储过程,或者调OLE组件
补充:可用于like 模糊查询中及 PATINDEX 函数中
[^](通配符 - 无需匹配的字符)以下示例使用 [^] 运算符在 Contact 表中查找所有名字以 Al 开头且第三个字母不是字母 a 的人。 USE AdventureWorks; GO SELECT FirstName, LastName
FROM Person.Contact WHERE FirstName
LIKE 'Al[^a]%' ORDER BY FirstName;