SQL Server模糊查詢的常見方法總結(jié)
在數(shù)據(jù)查詢的時(shí)候,有完整查詢和模糊查詢之分.在Access和SQL Server中使用模糊查詢有一下幾種查詢:
1.用_通配符查詢
"_"號(hào)表示任意單個(gè)字符,該字符號(hào)只能匹配一個(gè)字符,利用"_"號(hào)可以作為通配符組成匹配模式進(jìn)行查詢."_"符號(hào)可以放在查詢條件 的任意位置,且只能代表一個(gè)字符.
例如:查詢數(shù)學(xué)成績(jī)?cè)诖笥诨虻扔?0的同學(xué)
selecT * FROM StuScore WHERE Math_Score like '8_'
2利用%通配符查詢
"%"符號(hào)是字符匹配符,能匹配0個(gè)或更多字符的任意長(zhǎng)度的字符串.
在SQL語(yǔ)句中可以在查詢條件的任意位置放置一個(gè)%來(lái)代表一個(gè)任意長(zhǎng)度的字符串,在查詢條件是也可以放置兩個(gè)%進(jìn)行查詢,但是 在查詢條件中最好不要連續(xù)出現(xiàn)連個(gè)%
例如:查詢姓劉的學(xué)生成績(jī)
select * from StuScore where Name like '劉%'
3使用[]通配符查詢
利用[]來(lái)實(shí)現(xiàn)查詢一定范圍的數(shù)據(jù),[]號(hào)用于指定范圍內(nèi)的任何單個(gè)字符,包括兩端數(shù)據(jù).
[]中應(yīng)用的主要通配符
符號(hào) |
含義 |
Like '5[%]' |
5% |
Like '5%' |
5后面跟0個(gè)或者多個(gè)字符的字符串 |
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 ']' |
] |
例如:查詢英語(yǔ)成績(jī)?cè)?5到100之間的同學(xué)
select * from StuScore where English_Score like '9[5-9]%'
5.利用[^]通配符查詢
[^]號(hào)用來(lái)查詢不在指定范圍或集合內(nèi)的任何單個(gè)字符
例如:查詢數(shù)學(xué)成績(jī)?cè)?0分以下的學(xué)生
select * from StuScore where Math_Score like '[^9][0-9]'
5.OT AND OR 邏輯運(yùn)算符查詢
綜合應(yīng)用了模式查詢中的幾種形式,同時(shí)還使用了NOT ,AND ,OR3種邏輯運(yùn)算符組成完整的查詢條件,其中,NOT的優(yōu)先級(jí)最高,其次是AND,OR的優(yōu)先級(jí)最低,在使用3種邏輯運(yùn)算符進(jìn)行查詢時(shí),注意運(yùn)算符的優(yōu)先級(jí)別,通過(guò)括號(hào)也可以改變優(yōu)先級(jí)別,使查詢功能更加豐富和靈活,
注:NOT 表示"非"的關(guān)系,表示不滿足NOT后面條件.OR表示"或"的關(guān)系,即滿足兩個(gè)條件中的一個(gè),AND表示"與"的關(guān)系,即同時(shí)滿足兩個(gè)關(guān)系
例如:查詢姓劉的學(xué)生數(shù)學(xué)成績(jī)以最后一位數(shù)不是7或者是英語(yǔ)在90分以上的
selecT * FROM StuScore WHERE (Name like '劉%') and ((Math_Score like '[^7]') or(English_Score like '9[0-9]'))
6.Jet SQL 語(yǔ)法中使用通配符
like運(yùn)算符里使用的通配符列表
通配符 |
描述 |
? |
任何單一字符 |
· |
零個(gè)或者多個(gè)字符 |
# |
任何單一數(shù)字(0-9) |
[字符串列表] |
任何在字符串列表中的單一字符 |
[!字符串列表] |
任何不在字符串列表中的單一字符 |
用運(yùn)算符like處理文本數(shù)據(jù)類型的字段
like謂詞用于查找字符串,使用時(shí)取"?"代表任意單個(gè)字符,"*"代表任意字符串,其形式如下幾種情況
(1) 以字符loving 開頭的任何文本:
Like 'loving*'
(2)包含字符loving結(jié)尾的任何文本
Like '*loving'
(3)包含字符loving的任何文本
Like '*loving*'
(4)去字符 loving和單個(gè)任意后綴字符
Like 'loving?'
(5)取字符loving和單個(gè) 任意前綴字符
Like '?loving'
(6)以字符L或V開頭的任何文本
Like '[lv]*'
(7)結(jié)尾為s,開頭字符位于m~r之間的文本:
Like '[m-r]s'
(8)以字符m開頭,第二個(gè)字符非r的任何文本
Like 'm[^r]*'
總結(jié)
到此這篇關(guān)于SQL Server模糊查詢常見方法的文章就介紹到這了,更多相關(guān)SQL Server模糊查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL SERVER連線查詢數(shù)據(jù)源IP地址及開啟SQL的IP地址連線方法
這篇文章主要介紹了SQL SERVER連線查詢數(shù)據(jù)源IP地址及開啟SQL的IP地址連線方法,文中通過(guò)圖文結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-06-06SQL SERVER備份數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的方法
這篇文章主要介紹了SQL SERVER備份數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的方法,需要的朋友可以參考下2015-10-10Sql2000數(shù)據(jù)庫(kù)的備份文件恢復(fù)到Sql2005的方法
真的和sql2000恢復(fù)方法不同,我用這里介紹的辦法恢復(fù)成功了2009-12-12談?wù)剆qlserver自定義函數(shù)與存儲(chǔ)過(guò)程的區(qū)別
這篇文章主要介紹了談?wù)剆qlserver自定義函數(shù)與存儲(chǔ)過(guò)程的區(qū)別,需要的朋友可以參考下2014-09-09SQL Server 數(shù)據(jù)庫(kù)分區(qū)分表(水平分表)詳細(xì)步驟
最近幾個(gè)擔(dān)心網(wǎng)站數(shù)據(jù)量大會(huì)影響sqlserver數(shù)據(jù)庫(kù)的性能,所以提前將數(shù)據(jù)庫(kù)分表處理好,下面是ExceptionalBoy同學(xué)分享的詳細(xì)方法,需要的朋友可以參考下2021-03-03sql update 觸發(fā)器 可獲得被update的行的信息
sql update 觸發(fā)器 可獲得被update的行的信息,需要的朋友可以參考下。2010-06-06SQLSERVER不拼接SQL如何實(shí)現(xiàn)條件查詢
在做項(xiàng)目中,我們經(jīng)常遇到復(fù)雜的查詢方法,本文主要介紹了SQLSERVER不拼接SQL如何實(shí)現(xiàn)條件查詢,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01SQLSERVER啟動(dòng)不起來(lái)(錯(cuò)誤9003)的解決方法分享
這篇文章主要介紹了SQLSERVER因錯(cuò)誤9003啟動(dòng)不起來(lái)的解決方法,大家參考使用吧2013-11-11使用SQL SERVER存儲(chǔ)過(guò)程實(shí)現(xiàn)歷史數(shù)據(jù)遷移方式
這篇文章主要介紹了使用SQL SERVER存儲(chǔ)過(guò)程實(shí)現(xiàn)歷史數(shù)據(jù)遷移,介紹了歷史數(shù)據(jù)遷移的基本概念及目的,對(duì)SQL SERVER存儲(chǔ)過(guò)程歷史數(shù)據(jù)遷移知識(shí)感興趣的朋友參考下吧2021-09-09