sql server 通配符
sql有四种通配符:
-- %可以匹配任意长度的字符;
-- _匹配单个字符;
-- [charlist]匹配括号中的任何一个字符
-- [^]匹配不在括号中的任意单个字符
示例:
--'[ab]'匹配字符a或b,'[a-z]’匹配介于a与z之间的任意单个字符
--'[^ab]'匹配任何不为a或者b的单个字符
转义字符:
--使用转义字符,可以告诉DBMS,查询中的通配符不再是通配符,而是字符的实际值。使用转义字符,可以告诉DBMS,查询中的通配符不再是通配符,而是字符的实际值。
--使用escape关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串5%的字符串,请使用:
-- where description like'gs_' escape'S'
--指定用'/'符号来说明跟在其后面的通配符字符为普能字符
--where column_1 like '%5/%%' escape '/'
意思就是:
--比如,我们要搜索一个字符串"g_",如果直接like"g_",那么"_"的作用就是通配符,而不是字符,结果,我们会查到比如"ga","gb","gc",而不是我们需要的"g_".用LIKE 'gs_' ESCAPE 'S''s'表示特殊用法标志
--在SQL SERVER中,若不使用ESCAPE子句定义转义字符的话,还可以使用’[%]’的形式告诉DNMS:这里的%不再是通配符而是百分号本身。
--SELECT name FROM tb_TestTable WHERE name LIKE '%[%]'
要么生,要么死