SQL Server查詢中特殊字符的處理方法 (SQL Server特殊符號的轉義處理)


 

SQL Server查詢中特殊字符的處理方法 (SQL Server特殊符號的轉義處理)

SQL Server查詢中,經常會遇到一些特殊字符,比如單引號'等,這些字符的處理方法,是SQL Server用戶都應該需要知道的。

我們都知道SQL Server查詢過程中,單引號“'”是特殊字符,所以在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操作,需要進行以下替換(注意順序也很重要)
[ -> [[]     (這個必須是第一個替換的!!)
% -> [%]    (這里%是指希望匹配的字符本身包括的%而不是專門用於匹配的通配符)
_ -> [_]
^ -> [^]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM