手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mssql>列表

sql数据的like查询条件

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

使用 ESCAPE 子句的模式匹配

可搜索包含一个或多个特别通配符的字符串。例如,customers 数据库中的 discounts 表可能存储含百分号 (%) 的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供 ESCAPE 关键字和转义符。例如,一个样本数据库包含名为 comment 的列,该列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,请指定由 WHERE comment LIKE '0!%%' ESCAPE '!' 组成的 WHERE 子句。假如不指定 ESCAPE 和转义符,SQL Server 将返回任何含字符串 30 的行。wwww.chin aitpower.comIqpmA

下例说明如何在 pubs 数据库 titles 表的 notes 列中搜索字符串"50% off when 100 or more copies are purchased":wwww.chin aitpower.comIqpmA

USE pubs



GO



SELECT notes



FROM titles



WHERE notes LIKE '50%% off when 100 or more copies are purchased' 



   ESCAPE '%'



GO



示例
A. 使用带 % 通配符的 LIKE

下例查找 authors 表中任何区号为 415 的电话号码。wwww.chin aitpower.comIqpmA

USE pubs



GO



SELECT phone



FROM authors



WHERE phone LIKE '415%'



ORDER by au_lname



GO



下面是结果集:wwww.chin aitpower.comIqpmA

phone        



------------ 



415 658-9932 



415 548-7723 



415 836-7128 



415 986-7020 



415 836-7128 



415 534-9219 



415 585-4620 



415 354-7128 



415 834-2919 



415 843-2991 



415 935-4228 



(11 row(s) affected)



B. 使用带 % 通配符的 NOT LIKE

下例查找 authors 表中任何区号不是 415 的电话号码。wwww.chin aitpower.comIqpmA

USE pubs



GO



SELECT phone



FROM authors



WHERE phone NOT LIKE '415%'



ORDER BY au_lname



GO



下面是结果集:wwww.chin aitpower.comIqpmA

phone        



------------ 



503 745-6402 



219 547-9982 



615 996-8275 



615 297-2723 



707 938-6445 



707 448-4982 



408 286-2428 



301 946-8853 



801 826-0752 



801 826-0752 



913 843-0462 



408 496-7223 



(12 row(s) affected)



C. 使用 ESCAPE 子句

下例使用 ESCAPE 子句和转义符查找 mytbl2 表的 c1 列中的精确字符串 10-15%。wwww.chin aitpower.comIqpmA

USE pubs



GO



IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES



      WHERE TABLE_NAME = 'mytbl2')



   DROP TABLE mytbl2



GO



USE pubs



GO



CREATE TABLE mytbl2



(



 c1 sysname



)



GO



INSERT mytbl2 VALUES ('Discount is 10-15% off')



INSERT mytbl2 VALUES ('Discount is .10-.15 off')



GO



SELECT c1 



FROM mytbl2



WHERE c1 LIKE '-15!% off%' ESCAPE '!'



GO



D. 使用 [ ] 通配符

下例查找名字为 Cheryl 或 Sheryl 的作者。wwww.chin aitpower.comIqpmA

USE pubs



GO



SELECT au_lname, au_fname, phone



FROM authors



WHERE au_fname LIKE '[CS]heryl'



ORDER BY au_lname ASC, au_fname ASC



GO



下例查找姓为 Carson、Carsen、Karson 或 Karsen 的作者所在的行。wwww.chin aitpower.comIqpmA

USE pubs



GO



SELECT au_lname, au_fname, phone



FROM authors



WHERE au_lname LIKE '[CK]ars[eo]n'



ORDER BY au_lname ASC, au_fname ASC



GO



表达式wwww.chin aitpower.comIqpmA

函数wwww.chin aitpower.comIqpmA

SELECTwwww.chin aitpower.comIqpmA

WHEREwwww.chin aitpower.comIqpmA


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!