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 '%[%]'

 

posted @ 2017-03-08 08:54  雷雨天的雷胖子  阅读(770)  评论(0编辑  收藏  举报