SQL查詢中的轉義字元

2022-01-19 04:33:41 字數 1815 閱讀 6434

如果想查詢「_cs」結尾的的賬戶

select * from [user] where loginname like '%_cs'是不行的,_ 被認為是任意的字元,

所以需要轉義字元,有兩種寫法:

萬用字元 含義

% 包含零個或更多字元的任意字串。

_ 任何單個字元。

[ ] 指定範圍(例如 [a-f])或集合(例如 [abcdef])內的任何單個字元。

[^] 不在指定範圍(例如 [^a - f])或集合(例如 [^abcdef])內的任何單個字元。

例如:like 'mc%' 將搜尋以字母 mc 開頭的所有字串(如 mcbadden)。

like '%inger' 將搜尋以字母 inger 結尾的所有字串(如 ringer、stringer)。

like '%en%' 將搜尋在任何位置包含字母 en 的所有字串(如 bennet、green、mcbadden)。

like '_heryl' 將搜尋以字母 heryl 結尾的所有六個字母的名稱(如 cheryl、sheryl)。

like '[ck]ars[eo]n' 將搜尋下列字串:carsen、karsen、carson 和 karson(如 carson)。

like '[m-z]inger' 將搜尋以字串 inger 結尾、以從 m 到 z 的任何單個字母開頭的所有名稱(如 ringer)。

like 'm[^c]%' 將搜尋以字母 m 開頭,並且第二個字母不是 c 的所有名稱(如 macfeather)。

使用 escape 關鍵字定義轉義符。在模式中,當轉義符置於萬用字元之前時,該萬用字元就解釋為普通字元。例如,要搜尋在任意位置包含字串 5% 的字串,請使用:

符號 含義

like '5[%]' 5%

like '5%' 5 後跟 0 個或更多字元的字串

like '[_]n' _n

like '_n' an, in, on (and so on)

like '[a-cdf]' a, b, c, d, or f

like '[-acdf]' -, a, c, d, or f

like '[ [ ]' [

like ']' ]

二、例項說明:

在表personalmember中查詢strloginname欄位中含有"["的記錄。

可用三條語句:

1、select strloginname,* from personalmember where strloginname like '%\[%' escape '\'

2、(說明"\"與"/"均可與escape關鍵字結合作為轉義符)

select strloginname,* from personalmember where strloginname like '%/[%' escape '/'

3、select strloginname,* from dbo.personalmember where charindex('[',strloginname)>0

sql轉義字元

被這個標記所包含的內容將表示為純文字,比如表示文字內容 此標記用於xml文件中,我們先來看看使用轉義符的情況。我們知道,在xml中,等字元是不能直接存入的,否則xml語法檢查時會報錯,如果想在xml中使用這些符號,必須將其轉義為實體,如 這樣才能儲存進xml文件。在使用程式讀取的時候,解析器會自動將...

sql 中模糊查詢轉義 escape

當你想查詢 特殊字元時,請用escape select ename from emp where ename like s escape s 我們並不想查詢s後必須有乙個字元以上的員工,而是要剔除s,s出現的目的就是轉義,將 轉義了,這裡的 不是萬用字元,而是實際意義的 select ename f...

sql 中模糊查詢轉義 escape

當你想查詢 特殊字元時,請用escape select ename from emp where ename like s escape s 我們並不想查詢s後必須有乙個字元以上的員工,而是要剔除s,s出現的目的就是轉義,將 轉義了,這裡的 不是萬用字元,而是實際意義的 select ename f...