阿里云折扣码

轻云博客 > SQL Server数据库设计 > SQL对like 操作中的特殊字符处理方法:

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

作者:Aisencici / 日期:2014-5-8 23:02:00 / 分类:SQL Server数据库设计 / 浏览:2768

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操作,需要进行以下替换(注意顺序也很重要) [ -> [[]     (这个必须是第一个替换的!!) 

 

% -> [%]    (这里%是指希望匹配的字符本身包括的%而不是专门用于匹配的通配符) _ -> [_] ^ -> [^]


本文标签:Database, SQL & LINQ & SQL Server
From:http://www.cnblogs.com/yumianhu/p/3707423.html
分享到: