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'表示特殊用法标志
CREATE TABLE a ( NAME VARCHAR(10) ) go INSERT INTO a SELECT '11"' UNION ALL SELECT '113' UNION ALL SELECT '123' go SELECT * FROM a WHERE NAME LIKE '%/3' ESCAPE '/' --指定用'/'符号来说明跟在其后面的通配符字符为普能字符。(第二个%是字符不是通配符来的) go DROP TABLE a结果为:
name ---------- 113 123%:匹配零个及多个任意字符; _:与任意单字符匹配; []:匹配一个范围; [^]:排除一个范围
SymbolMeaninglike '5[%]'0.05like '[_]n'_nlike '[a-cdf]'a, b, c, d, or flike '[-acdf]'-, a, c, d, or flike '[[]'[like ']']like 'abc[_]d%'abc_d and abc_delike 'abc[def]'abcd, abce, and abcflike '[^1-9]'0like '[^1-9b-z]'0, a对于字符串中出现的特殊字符:’%’,’[',’[]’, ‘_’ 可以使用 ‘[]’ 把它们包含起来, 这样在匹配模式(pattern)中,它们就被当作普通字符对待了。
用 like '[[]' 匹配特殊字符 ‘[’ select 1 where '[ABCDE' like '[[]%' 用 like ']' 匹配特殊字符 ‘]’ select 1 where ']ABCDE' like ']%' 用 like '[[]]' 匹配特殊字符 ‘[]’ select 1 where '[]ABCDE' like '[[]]%%' 用 like ‘[_]’ 匹配特殊字符 ‘_’ select 1 where '_ABCDE' like '[_]%'用 like '[%]' 匹配特殊字符 ‘%’
select 1 where 'ABC