SQL Server查詢中特殊字元的處理方法

2022-06-10 05:51:06 字數 846 閱讀 9602

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%

ab...      ab%

a[^]b...     a[[^]]b%

a[^^]b...    a[[^][^]]b%

在實際進行處理的時候,對於=操作,我們一般只需要如此替換:

' -> ''

對於like操作,需要進行以下替換(注意順序也很重要)

[ -> [     (這個必須是第乙個替換的!!)

% -> [%]    (這裡%是指希望匹配的字元本身包括的%而不是專門用於匹配的萬用字元)

_ -> [_]

^ -> [^]

SqlServer中模糊查詢對於特殊字元的處理

今天在處理sql查詢的時候遇到了like查詢不到的問題,於是對問題進行剖析 問題 select from v workflow rt task circulate where name like admin 請假申請 2017 02 13至2017 02 13 查詢不到,但是在資料庫中是存在在這一條...

Oracle中like查詢下劃線等特殊字元的處理

escape clause example to search for employees with the pattern a b in their name select last name from employees where last name like a b escape thees...

SQL Server中的查詢

本博文簡單介紹一下sql server中常用的幾類查詢及相關使用的方法。一 executescalar方法獲取單一值 executescalar方法是sqlcommand類的方法之一,執行查詢,並返回查詢所返回的結果集中的第一行第一列。csharp view plain copy print cla...