Sql Server中通配符的使用
通配符_
"_"號表示任意單個字符,該符號只能匹配一個字符."_"可以放在查詢條件的任意位置,且只能代表一個字符.一個漢字只使用一個"_"表示.
通配符%
"%"符號是字符匹配符,能匹配0個或更多字符的任意長度的字符串.在SQL語句中可以在查詢條件的任意位置放置一個%來代表一個任意長度的字符串.在查詢條件時也可以放置兩個%進(jìn)行查詢,但在查詢條件中最好不要連續(xù)出現(xiàn)兩個%
通配符[]
在模式查詢中可以利用"[]"來實現(xiàn)查詢一定范圍的數(shù)據(jù).[]用于指定一定范圍內(nèi)的任何單個字符,包括兩端數(shù)據(jù)
通配符[^]
[^]用來查詢不屬于指定范圍 ([a-f]) 或集合 ([abcdef]) 的任何單個字符。
如:select * from alluser
where username like 'M[^abc]%'
表示從表alluser中查詢用戶名以M開頭,且第二個字符不是a,b,c信息.
ESCAPE子句的模式匹配
可搜索包含一個或多個特殊通配符的字符串。例如,customers 數(shù)據(jù)庫中的 discounts 表可能存儲含百分號 (%) 的折扣值。若要搜索作為字符而不是通配符的百分號,必須提供 ESCAPE 關(guān)鍵字和轉(zhuǎn)義符。例如,一個樣本數(shù)據(jù)庫包含名為 comment 的列,該列含文本 30%。若要搜索在 comment 列中的任何位置包含字符串 30% 的任何行,請指定由 Where comment LIKE '%30!%%' ESCAPE '!' 組成的 Where 子句。如果不指定 ESCAPE 和轉(zhuǎn)義符,SQL Server 將返回所有含字符串 30 的行。
下例說明如何在 pubs 數(shù)據(jù)庫 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)義符置于通配符之前時,該通配符就解釋為普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,請使用: Where ColumnA LIKE '%5/%%' ESCAPE '/'
2.ESCAPE 'escape_character' 允許在字符串中搜索通配符而不是將其作為通配符使用。 escape_character 是放在通配符前表示此特殊用途的字符。
Select * FROM finances Where description LIKE 'gs_' ESCAPE 'S'
意思就是: 比如,我們要搜索一個字符串 "g_" ,如果直接 like "g_",那么 "_"的作用就是通配符,而不是字符,結(jié)果,我們會查到比如 "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模糊查詢的時候
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模糊查詢的時候,=的時候
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í)與閱讀的樂趣,真誠地建議您直接查看原址鏈接: http://www.w3school.com.cn/sql/sql_wildcards.asp
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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