2021-02-24 11:30:33 版本 : SQLServer转义符 - Mark0507 - 博客园
作者: 周杨 于 2021年02月24日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER 下,并于 2021年02月24日 编辑
 历史版本

备注 修改日期 修改人
CREAT 2021-02-24 11:30:33[当前版本] 系统管理员



1.在like语句中,用Escape来转义:

对于特殊字符'%','[','[]', '_' 可以使用 '[]' 把它们包含起来:

select * from [dbo].[Locations] where state like '%[%]%'

select * from [dbo].[Locations] where city like '%[[]]%'

对于特殊字符'^', '-', ']' 因为它们本身在包含在 '[]' 中使用,所以需要用另外的方式来转义,于是就引入了 like 中的 escape 子句,另外值得注意的是:escape 可以转义所有的特殊字符:

select * from [dbo].[Locations] where city like '%[!]]%'escape'!'


2.默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符:

select * from [dbo].[Locations] where city like '%''%'

两个百分号中间的分号,第一个是转义符,第二个是需要查询的条件'


select replace('abcdefg '' ',' '' ','!')

上面的语句是为了把字符串{abcdefg'}里面的{'}替换成{!},所以查询结果是{abcdefg!}

标红的两个分号,第一个是转义符,第二个是字符串里面的内容,replace括号里的三个参数都用引号包含(三个外层引号),与属于字符串的引号互不干扰


历史版本-目录  [回到顶端]
    知识分享平台 -V 5.1.4 -大信谛威