- SQL中escape的主要用途
- 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'表示特殊用法标志
- 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
- --该片段来自于http://www.codesnippet.cn/detail/090720149923.html
来源: http://www.codesnippet.cn/detail/090720149923.html