sql替换通配符

DECLARE @keyword varchar(100)
SET @keyword = '%%'

SET @keyword = REPLACE(@keyword,'\','\\')
SET @keyword = REPLACE(@keyword,'%','\%')
SET @keyword = REPLACE(@keyword,'_','\_')
SET @keyword = REPLACE(@keyword,'[','\[')
SET @keyword = REPLACE(@keyword,']','\]')

SELECT *
FROM (
SELECT string = 'abc\de' UNION ALL
SELECT string = 'abc%de' UNION ALL
SELECT string = 'abc_de' UNION ALL
SELECT string = 'abc[de' UNION ALL
SELECT string = 'abc]de' UNION ALL
SELECT string = 'abc[^d]e' UNION ALL
SELECT string = 'ab[c-d]e' UNION ALL
SELECT string = '2%%2'
) tmp
WHERE string LIKE '%' + @keyword + '%' ESCAPE '\'


通配符 含义
% 包含零个或更多字符的任意字符串。
_ 任何单个字符。
[ ] 指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^] 不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值