sql语句中escape的用法

sqlserver2008中使用escape做通配符转义

web系统中一般都会在前端对特殊字符进行过滤处理,防止数据查询导致的页面和数据问题。但是也有一些特殊的情况,比如说业务字段里会包含某些特殊字符,比如"%"、"["、"]"等,这时候如果想象查询出数据就需要使用到escape关键字对特殊字符进行转义。

escape指定的字符后面紧挨着的第一个字符被看作是普通字符而非通配符,如果转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作为该模式中的常规字符处理。

假设相对如下user表进行查询
user表

1. 查询username字段中包含%的数据
select * from user u where u.username like ‘%%%’; --查询出所有数据
select * from user u where u.username like ‘%%%’ escape ‘’; --查询出id=1、2

2. 查询username字段中包含’['的数据
select * from user u where u.username like ‘%#[%’ escape ‘#’; --查询出id=3、4、5
select * from user u where u.username like ‘%#[校%’ escape ‘#’;–查询出id=5


------------本文结束感谢您的阅读------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值