且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SQL 必知必会·笔记<4>使用通配符过滤数据

更新时间:2022-04-11 23:53:38

LIKE操作符

通配符(wildcard)

用来匹配值的一部分的特殊字符。

百分号(%)通配符

最常使用的通配符是百分号(%)。在搜索串中,%表示任何字符出现任意次数:

SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE 'Fish%';

 

下划线(_)通配符

只匹配单个字符,而不是多个字符,下面的示例有两个_通配符:

SELECT prod_id, prod_name
FROM Products
WHERE prod_name LIKE '__ inch teddy bear';

 

方括号([])通配符

方括号([])通配符(只有Access 和SQL Server支持)用来指定一个字符集,它必须匹配指定位置(通配符的位置)的一个字符:

--找出所有名字以J 或M 起头的联系人
FROM Customers
WHERE cust_contact LIKE '[JM]%'
ORDER BY cust_contact;

 

^脱字号

用于否定集合,在使用多个WHERE子句时可以简化语法:

--匹配不以J 或M 起头的任意联系人名
SELECT cust_contact
FROM Customers
WHERE cust_contact LIKE '[^JM]%'
ORDER BY cust_contact;

使用通配符注意事项

由于通配符搜索一般比其他搜索要耗费更长的处理时间,所有使用时需要注意:

  • 不要过度使用通配符。如果其他操作符能达到相同的目的应该使用其他操作符。
  • 在确实需要使用通配符时,也尽量不要把它们用在搜索模式的开始处。把通配符置于开始处,搜索起来是最慢的。
  • 仔细注意通配符的位置。如果放错地方,可能不会返回想要的数据。
本文转自gyzhao博客园博客,原文链接:http://www.cnblogs.com/IPrograming/p/3271872.html,如需转载请自行联系原作者