SQL Server模糊查詢的常見方法總結

在數據查詢的時候,有完整查詢和模糊查詢之分.在Access和SQL Server中使用模糊查詢有一下幾種查詢:

1.用_通配符查詢

“_”號表示任意單個字符,該字符號隻能匹配一個字符,利用”_”號可以作為通配符組成匹配模式進行查詢.”_”符號可以放在查詢條件 的任意位置,且隻能代表一個字符.

例如:查詢數學成績在大於或等於80的同學

selecT * FROM StuScore WHERE Math_Score like '8_'

2利用%通配符查詢

“%”符號是字符匹配符,能匹配0個或更多字符的任意長度的字符串.

在SQL語句中可以在查詢條件的任意位置放置一個%來代表一個任意長度的字符串,在查詢條件是也可以放置兩個%進行查詢,但是 在查詢條件中最好不要連續出現連個%

例如:查詢姓劉的學生成績

select * from StuScore where Name like '劉%'

3使用[]通配符查詢

利用[]來實現查詢一定范圍的數據,[]號用於指定范圍內的任何單個字符,包括兩端數據. 

                                           []中應用的主要通配符

符號

含義

Like ‘5[%]’

5%

Like ‘5%’

5後面跟0個或者多個字符的字符串

Like ‘[_]n’

_n

Like'[a-cdf]’

a,b,c,d,or f

Like ‘_n’

An ,in, on,(and so on )

Like ‘[-acdf]’

-a,c,d, or f

Like'[[]’

[

Like ‘]’

]

例如:查詢英語成績在95到100之間的同學

select * from StuScore where English_Score like '9[5-9]%'

5.利用[^]通配符查詢

[^]號用來查詢不在指定范圍或集合內的任何單個字符

例如:查詢數學成績在90分以下的學生

select * from StuScore where Math_Score like '[^9][0-9]'

5.OT AND OR 邏輯運算符查詢

綜合應用瞭模式查詢中的幾種形式,同時還使用瞭NOT ,AND ,OR3種邏輯運算符組成完整的查詢條件,其中,NOT的優先級最高,其次是AND,OR的優先級最低,在使用3種邏輯運算符進行查詢時,註意運算符的優先級別,通過括號也可以改變優先級別,使查詢功能更加豐富和靈活,

註:NOT 表示”非”的關系,表示不滿足NOT後面條件.OR表示”或”的關系,即滿足兩個條件中的一個,AND表示”與”的關系,即同時滿足兩個關系

例如:查詢姓劉的學生數學成績以最後一位數不是7或者是英語在90分以上的

selecT * FROM StuScore WHERE (Name like '劉%') and ((Math_Score like '[^7]') or(English_Score like '9[0-9]'))

 

6.Jet SQL 語法中使用通配符

                                                     like運算符裡使用的通配符列表

通配符

描述

?

任何單一字符

·                 

零個或者多個字符

#

任何單一數字(0-9)

[字符串列表]

任何在字符串列表中的單一字符

[!字符串列表]

任何不在字符串列表中的單一字符

用運算符like處理文本數據類型的字段

like謂詞用於查找字符串,使用時取”?”代表任意單個字符,”*”代表任意字符串,其形式如下幾種情況

(1) 以字符loving 開頭的任何文本:

Like ‘loving*’

(2)包含字符loving結尾的任何文本

Like ‘*loving’

(3)包含字符loving的任何文本

Like ‘*loving*’

(4)去字符 loving和單個任意後綴字符

Like ‘loving?’

(5)取字符loving和單個 任意前綴字符

Like ‘?loving’

(6)以字符L或V開頭的任何文本

Like ‘[lv]*’

(7)結尾為s,開頭字符位於m~r之間的文本:

Like ‘[m-r]s’

(8)以字符m開頭,第二個字符非r的任何文本

Like ‘m[^r]*’

總結

到此這篇關於SQL Server模糊查詢常見方法的文章就介紹到這瞭,更多相關SQL Server模糊查詢內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: