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!
推薦閱讀:
- SQL Server 使用 Pivot 和 UnPivot 實現行列轉換的問題小結
- 詳解Go語言中數組,切片和映射的使用
- mysql語法之DQL操作詳解
- Python實現繪制聖誕樹和煙花的示例代碼
- MySQL系列關於NUll值的經驗總結分析教程