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%
在实际进⾏处理的时候,对于=操作,我们⼀般只需要如此替换: ' -> ''
对于like操作,需要进⾏以下替换(注意顺序也很重要) [ -> [[]    (这个必须是第⼀个替换的!!)
regexp like
% -> [%]    (这⾥%是指希望匹配的字符本⾝包括的%⽽不是专门⽤于匹配的通配符) _ -> [_] ^ -> [^]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。