SQL Server学习笔记7——模糊查询

1、LIKE关键字中的通配符及其含义

%由零个或多个字符组成的任意字符
_任意单个字符
[ ]用于指定范围,例如[A~F],表示A到F范围内任意单个字符
[^ ]表示指定范围之外的,例如[^ A~F],表示A到F范围以外的任意单个字符

LIKE谓词通过使用通配符可以指定任何的模糊查询条件,下面讲介绍几个使用LIKE谓词来实现模糊查询的例子。

//查询出某列中包含mr字符的数据,其中mr可以出现在任意位置。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '%mr%';

//查询出某列中包含mr字符的数据,其中mr出现在开头位置。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE 'mr%';

//查询出某列中包含mr字符的数据,其中mr出现在结尾位置。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '%mr';

//查询出某列中前两个字符为mr、后一个字符为任意字符的数据。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE 'mr_';

//查询出某列中以m字符或r字符开头的数据。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '[mr]%';

//查询出某列中以a~e之间的字符开头的数据,其中包括a和e。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '[a-e]%';

//查询出某列中不是以m字符或r字符开头的数据。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '[^mr]%';

//查询出某列中不是以a~e之间的字符开头的数据。代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '[^a-e]%';

2、ESCAPE定义转义字符

在使用通配符查询数据时,数据中可能也包含着通配符。这个时候使用ESCAPE关键字就可以解决这个问题。

//例如,查询出某列中以字符串“10%”结尾的数据,代码如下:
SELECT * FROM 表名 WHERE 列名 LIKE '%10#%' ESCAPE '#'//为“ # ”定义的转义字符,其后面的“ % ”即被解释为普通字符。

WHERE email LIKE '%/_%' ESCAPE '/';
//查询含有_的

LIKE 'AB&_%' ESCAPE '&'
//查询以“ AB_ ”开头的
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值