不平凡和您談----SQL對like 操作中的特殊字符處理方法
發布者: 鄭州軟件開發 10-30
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操作,需要進行以下替換(注意順序也很重要) [ -> [[] (這個必須是第一個替換的!!)
% -> [%] (這里%是指希望匹配的字符本身包括的%而不是專門用于匹配的通配符) _ -> [_] ^ -> [^]