SQL中的escape的用法

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2050

SQL中的escape的用法

2010-09-15 18:35:16| 分类: IT相关 | 标签:escape 通配符 select 字符串 搜索 |字号大中小 订阅

1.使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:

WHERE ColumnA LIKE '%5/%%' ESCAPE '/' 即‘/’为转义字符,第二个‘%’为普通字符,第一、第三个为通配符。
2.ESCAPE 'escape_character'
允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。
SELECT *
FROM finances
WHERE description LIKE 'gs_' ESCAPE 'S'
GO
意思就是:
比如,我们要搜索一个字符串 "g_" ,如果直接 like "g_",那么 "_"的作用就是通配符,而不是字符,结果,我们会查到比如 "ga","gb","gc",而不是我们需要的 "g_".
用 LIKE 'gs_' ESCAPE 'S' 's'表示特殊用法标志。就会搜索‘s_’了。
3.create table a (name varchar(10))
go
insert into a select '11%22'
union all select '11%33'
union all select '12%33'
go
select * from a WHERE name LIKE '%/%33' ESCAPE '/' --指定用'/'符号来说明跟在其后面的通配符字符为普能字符。(第二个%是字符不是通配符来的)
go
drop table a
结果为:
name
----------
11%33
12%33

GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=2050

原文地址:https://www.cnblogs.com/cnsend/p/15558601.html