在字符串比較中使用通配符

此頁沒有內(nèi)容條目
內(nèi)容

在字符串比較中使用通配符

內(nèi)含的模式匹配為字符串比較提供了一個多用途工具。下表顯示了你可以通過 Like 運(yùn)算符 使用的通配符和它們匹配的數(shù)字或字符串的數(shù)目。

樣式中的字符

表達(dá)式中的匹配

? _(下劃線)

任何單一字符

* or %

零個或多個字符

#

任何單一數(shù)字(0 — 9)

[charlist]

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

[!charlist]

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

 

可用括在括號 ([ ]) 中的一組字符(字符表)來匹配表達(dá)式中任何的單一字符,而且字符表中幾乎可以包含 ANSI 字符集中的任何字符,包括數(shù)字。事實(shí)上,特殊字符,如左括號 ([ )、問號(?)、井字號(#)和星號(*), 當(dāng)它們括在括號內(nèi)時,可以直接和它們自己匹配。一組字符內(nèi)的右括號 ( ]) 不能匹配它自己,但是如果它是一組之外的單一字符,就能用來匹配。

除了括在括號內(nèi)的字符的簡單表列,字符表可以指定一字符范圍,用連字符號 (-) 來隔開范圍的上下界。例如,在樣式 中使用 [A-Z] ,可在包含從 A 到 Z 的任何大寫字母的表達(dá)式內(nèi),找出相應(yīng)的字符位置。 可以在括號之中包含多個范圍且不需要在范圍間劃上界線。例如,[a-zA-Z0-9] 指任何符合文數(shù)值的字符。

一定要注意,僅當(dāng)使用 Microsoft? Jet 4.X 版和 Microsoft OLE DB Provider for Jet 時,ANSI SQL 通配符 (%) 和 (_) 才可用。若使用 Microsoft Access 或 DAO,則將其視為原義字符。

樣式匹配的重要的規(guī)則還有:

?字符表開頭的驚嘆號(!),意味著在表達(dá)式中尋找那些不包括在字符表中的字符。若驚嘆號(!)在括號之外,它只匹配它自己。
?如果連字符(-)在字符表的開頭(如果有驚嘆號,則緊跟在驚嘆號之后),或在字符表的末尾,則它匹配連字符(-)自己。否則它被視為 ANSI 字符范圍的標(biāo)識。
?當(dāng)您指定一個字符范圍時,首尾字符必須以升序的順序出現(xiàn)(A-Z 或 0-100)。例如,[A-Z] 是有效的,而 [Z-A] 則無效。
?字符順序 [ ] 忽略不計,被看作零長度字符串 (“”)。
請參閱

Like 運(yùn)算符

SQL 表達(dá)式s