sql之模糊查詢

2021-08-20 01:49:57 字數 2325 閱讀 9564

sql模糊查詢:普通字元查詢、特殊字元查詢

模糊查詢的一般格式:

select 字段 from 表 where 某欄位 like 條件;

1、%:表示零個或多個字元。

例如:select * from flow_user where username like 『%王%』;

將會把flow_user這張表裡面,列名username中還有「王」的記錄全部查詢出來。

2、_:表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度:

例如:select * from flow_user where username like 『英『;

只能找到「王英琨」這樣username為三個字且中間乙個字是「英」的內容。

3、:表示括號內所列字元中的乙個(類似正規表示式)。指定乙個字元、字串或範圍,要求所匹配的物件為他們中的任乙個

例如:select * from flow_user where username like』[王李張]飛』;

將找出「王飛」「李飛」「張飛」(而不是「張王李飛」)。

如內有一系列字元(01234,abcde之類的)則可略寫為「0-4」,「a-e」:

select * from flow_user where username like 『老[0-9]』;

將找出「老1」、「老2」、……、「老9」

4、[^]:表示不在括號所列之內的單個字元。其取值 和 相同,但它所要求匹配物件為指定字元以外的任乙個字元。

select * from flow_user where username like』[^王李張]飛』;

將找出不是「王飛」「李飛」「張飛「的」趙飛「、」吳飛「等。

下面講解包含特殊字元的模糊查詢:

1 . sql對like 操作中的特殊字元處理方法:

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%

2,sql like 萬用字元特殊用法:escape

闡述escape 的作用:

1.使用 escape 關鍵字定義轉義符。在模式中,當轉義符置於萬用字元之前時,

該萬用字元就解釋為普通字元。

例如,要搜尋在任意位置包含字串 5% 的字串,請使用:

where columna like '%5/%%' escape '/'

但是在mysql中好像不能使用"\"。

2.escape 'escape_character'

允許在字串中搜尋萬用字元而不是將其作為萬用字元使用。

escape_character 是放在萬用字元前表示此特殊用途的字元。

select *

from finances

where description like

'gs_'

escape

's'go

意思就是:

比如,我們要搜尋乙個字串 "g_" ,

如果直接 like

"g_",那麼 "_"的作用就是萬用字元,而不是字元,

結果,我們會查到比如 "ga","gb","gc",而不是我們需要的 "g_".

用 like

'gs_'

escape

's''s'表示特殊用法標誌

參考:

SQL之模糊查詢

一般模糊查詢語句如下 select 字段 from 表 where 某欄位 like 條件 其中關於條件,sql提供了四種匹配模式 1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name l...

cad模糊查詢符號 SQL 模糊查詢之特殊字元

1.sql like對時間查詢 時間格式的資料為各種各樣,不方便查詢。在使用like模糊查詢時,先將資料轉換為統一的格式,這樣在使用like查詢時就方便多了。2.sql like對特殊字元 在sql查詢過程中,動態sql,需將字元資料的單引號 改為兩個單引號 而在模糊查詢中,需使用萬用字元來匹配資料...

sql 模糊查詢

一般模糊語句如下 select 字段 from 表 where 某欄位 like 條件 其中關於條件,sql提供了四種匹配模式 1,表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號 表示。比如 select from user where u name lik...