SQL对like 操作中的特殊字符处理方法

SQL对like 操作中的特殊字符处理方法: 
 
SQL Server查询过程中,单引号 ' 是特殊字符,所以在查询的时候要转换成双单引号 '' 。 
 
在like操作还有以下特殊字符:下划线_,百分号%,方括号[],尖号^。 
 
其用途如下: 
 
下划线:用于代替一个任意字符(相当于正则表达式中的 ? ) 
 
百分号:用于代替任意数目的任意字符(相当于正则表达式中的 * ) 
 
方括号:用于转义(事实上只有左方括号用于转义,右方括号使用最近优先原则匹配最近的左方括号) 
 
尖号:用于排除一些字符进行匹配(这个与正则表达式中的一样) 
 
以下是一些匹配的举例,需要说明的是,只有like操作才有这些特殊字符,=操作是没有的。 
 
a_b...         a[_]b% 
a%b...         a[%]b% 
a[b...        a[[]b% 
a]b...        a]b% 
a[]b...       a[[]]b% 
a[^]b...      a[[][^]]b% 
a[^^]b...     a[[][^][^]]b% 
在实际进行处理的时候,对于=操作,我们一般只需要如此替换: ' -> '' 
 
对于like操作,需要进行以下替换(注意顺序也很重要) [ -> [[]     (这个必须是第一个替换的!!) 
 
% -> [%]    (这里%是指希望匹配的字符本身包括的%而不是专门用于匹配的通配符) _ -> [_] ^ -> [^]

 

posted @ 2014-04-15 16:53  linyujade  阅读(978)  评论(0编辑  收藏  举报