Sql Server中通配符的使用
通配符_
"_"號(hào)表示任意單個(gè)字符,該符號(hào)只能匹配一個(gè)字符."_"可以放在查詢條件的任意位置,且只能代表一個(gè)字符.一個(gè)漢字只使用一個(gè)"_"表示.
通配符%
"%"符號(hào)是字符匹配符,能匹配0個(gè)或更多字符的任意長(zhǎng)度的字符串.在SQL語(yǔ)句中可以在查詢條件的任意位置放置一個(gè)%來(lái)代表一個(gè)任意長(zhǎng)度的字符串.在查詢條件時(shí)也可以放置兩個(gè)%進(jìn)行查詢,但在查詢條件中最好不要連續(xù)出現(xiàn)兩個(gè)%
通配符[]
在模式查詢中可以利用"[]"來(lái)實(shí)現(xiàn)查詢一定范圍的數(shù)據(jù).[]用于指定一定范圍內(nèi)的任何單個(gè)字符,包括兩端數(shù)據(jù)
通配符[^]
[^]用來(lái)查詢不屬于指定范圍 ([a-f]) 或集合 ([abcdef]) 的任何單個(gè)字符。
如:select * from alluser
where username like 'M[^abc]%'
表示從表alluser中查詢用戶名以M開(kāi)頭,且第二個(gè)字符不是a,b,c信息.
ESCAPE子句的模式匹配
可搜索包含一個(gè)或多個(gè)特殊通配符的字符串。例如,customers 數(shù)據(jù)庫(kù)中的 discounts 表可能存儲(chǔ)含百分號(hào) (%) 的折扣值。若要搜索作為字符而不是通配符的百分號(hào),必須提供 ESCAPE 關(guān)鍵字和轉(zhuǎn)義符。例如,一個(gè)樣本數(shù)據(jù)庫(kù)包含名為 comment 的列,該列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,請(qǐng)指定由 Where comment LIKE '%30!%%' ESCAPE '!' 組成的 Where 子句。如果不指定 ESCAPE 和轉(zhuǎn)義符,SQL Server 將返回所有含字符串 30 的行。
下例說(shuō)明如何在 pubs 數(shù)據(jù)庫(kù) titles 表的 notes 列中搜索字符串"50% off when 100 or more copies are purchased":
Select notes FROM titles
Where notes LIKE '50%% off when 100 or more copies are purchased'
ESCAPE '%'
escape的主要用途
1.使用 ESCAPE 關(guān)鍵字定義轉(zhuǎn)義符。 在模式中,當(dāng)轉(zhuǎn)義符置于通配符之前時(shí),該通配符就解釋為普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,請(qǐng)使用: Where ColumnA LIKE '%5/%%' ESCAPE '/'
2.ESCAPE 'escape_character' 允許在字符串中搜索通配符而不是將其作為通配符使用。 escape_character 是放在通配符前表示此特殊用途的字符。
Select * FROM finances Where description LIKE 'gs_' ESCAPE 'S'
意思就是: 比如,我們要搜索一個(gè)字符串 "g_" ,如果直接 like "g_",那么 "_"的作用就是通配符,而不是字符,結(jié)果,我們會(huì)查到比如 "ga","gb","gc",而不是我們需要的 "g_". 用 LIKE 'gs_' ESCAPE 'S' 's'表示特殊用法標(biāo)志
#Region "通配符"
Public Shared Function getEscape(ByVal strOld As String, Optional ByVal blnLike As Boolean = False) As String
'需要like模糊查詢的時(shí)候
If blnLike = True Then
strOld = Fn_Chr(strOld).Replace("[", "[[]")
strOld = Fn_Chr(strOld).Replace("'", "''")
strOld = Fn_Chr(strOld).Replace("%", "[%]")
strOld = Fn_Chr(strOld).Replace("_", "[_]")
'不需要like模糊查詢的時(shí)候,=的時(shí)候
Else
strOld = Fn_Chr(strOld).Replace("'", "''")
End If
Return strOld
End Function
#End Region
轉(zhuǎn)載聲明: 本文轉(zhuǎn)自 http://blog.csdn.net/liyanmingkong/archive/2009/02/19/3911290.aspx
=====================================================================
SQL 通配符
為了您能夠更好的享受學(xué)習(xí)與閱讀的樂(lè)趣,真誠(chéng)地建議您直接查看原址鏈接: http://www.w3school.com.cn/sql/sql_wildcards.asp
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
