T-SQL字符转义

今天在用SQL Server查询以prm_开头的表名时发现问题,查看一下是下划线没被转义,特此总结一下T-SQL字符转义

创建临时表,插入示例数据

1 CREATE TABLE #characters(ch VARCHAR(200))
2 INSERT #characters VALUES('[入职时间]:2012-9-12')
3 INSERT #characters VALUES('prm_batch')
4 INSERT #characters VALUES('select PromiseTime as ''ptime''')
5 INSERT #characters VALUES('4 % 2= 0')
6 INSERT #characters VALUES('4 / 2= 2')


 转义查询

1 --  对于[],用/和ESCAPE转义
2 SELECT * FROM #characters WHERE ch LIKE '/[入职时间/]%' ESCAPE '/'
3 --  对于_和%, 用[]括起来转义
4 SELECT * FROM #characters WHERE ch LIKE 'prm[_]%'
5 SELECT * FROM #characters WHERE ch LIKE '4 [%]%'
6 -- 对于单引号, 前加单引号转义
7 SELECT * FROM #characters WHERE ch LIKE 'select PromiseTime as ''%'
8 --  对于/,不需要转义
9 SELECT * FROM #characters WHERE ch LIKE '4 /%'

 

转载于:https://www.cnblogs.com/qunyang/archive/2012/11/06/2756930.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值