access,ms sql server 和 oracle 中的通配符_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Access,MSSQLServer和acle中使用的通配符如果有什么不同,主要就是因為支持的SQL規(guī)范不同。SQL語言發(fā)布過兩個規(guī)范:ANSI89和ANSI92。跟ANSI89比起來,ANSI92SQL有新的和不同的保留關(guān)鍵字,語法規(guī)則和通配符(Wildcard)。雖然是兩個規(guī)范,并不表示支持哪個都好,ANSI92實際上是要替換ANSI89的,正如ANSI89替換了之前并不廣為所知的ANSIX3.1351986。Access,MSSQ

2、L和acle發(fā)展到今天也不知道經(jīng)過多少版本了(遑論其它非主流的數(shù)據(jù)庫系統(tǒng)),支持的SQL規(guī)范當然也是與時俱進。有時候,我們說Access中的通配符和MSSQL,和acle不一樣,實際上是在拿一個比較老的Access版本和一個比較新的MSSQL作比較,因為支持最新的SQL規(guī)范是數(shù)據(jù)庫系統(tǒng)程序發(fā)展的一個趨勢,沒道理對新規(guī)范視而不見,失去客戶和市場吧(可以參照SONY在MP3規(guī)格上的失利)。換而言之,Access,MSSQL和acle中的SQ

3、L語法將來應(yīng)該是趨向一致的,沒有那么大的差異。其實,Access2003就已經(jīng)向ANSI92SQL靠攏了。除了支持的SQL規(guī)范不同,還有些不同就是開發(fā)商自己定義的那部分了。對SQL規(guī)范的實現(xiàn),或者這里減一點,或者那里加一點,沒有說一定要忠實某個標準。不過對用戶來說,切換產(chǎn)品的時候就有必要了解都有哪些不同點和共同點,還不能做到完全無縫銜接。比如Microsoft的JetSQL,雖然是參照ANSI標準的,到底夾帶了很多自己的東西,保留關(guān)鍵字

4、和數(shù)據(jù)類型都不一樣,可以參考以下鏈接:EquivalentANSISQLDataTypesMicrosoftJetDatabaseEngineSQLReservedWdsMicrosoftJetDatabaseEngineSQLDataTypesAccess中查找處理數(shù)據(jù)的方法基本上可以分為兩大類:點Edit菜單調(diào)出來的FindReplace對話框;和用SQL語句編寫的選擇或動作查詢。在Access2003數(shù)據(jù)庫(.mdb)文件中,F(xiàn)i

5、ndReplace對話框和SQL語句編寫的查詢使用的規(guī)范是一致的,安裝時的默認項是ANSI89規(guī)范,我們可以自定義為ANSI92規(guī)范。在Access2003版程序中,我們可以配置數(shù)據(jù)庫文件支持任意一種規(guī)范。但在Access2000版程序中,只能用ANSI89。ANSI89通配符集通配符描述例子通配符描述例子匹配任意數(shù)量的字符。星號可以寫在字符串的任意位置。wh可以查到what,white和why,但查不到awhile或watch。匹配任

6、意單個的字符。Bll可查到ball,bell和bill。[]匹配方括號里的任意單個字符。B[ae]ll可查到ball和bell,但不能查到bill。!匹配任意不在方括號里的字符。b[!ae]ll可查到bill和bull,但不能查到ball或bell。匹配某個字符范圍內(nèi)的任意一個字符,字符范圍必須以升序方式表示(即A到Z,不能為Z到A)。b[ac]d可查到bad,bbd和bcd。#匹配任意單個的數(shù)字。1#3可查到103,113,123AN

7、SI92通配符集通配符描述示例%匹配任意數(shù)量的字符??梢詫懺谧址拈_頭和結(jié)尾。wh%可查到what,white和日期時間(DateTime)類型的字段應(yīng)用的格式如果能把時間以文本的方式顯示出來,我們就能憑我們看到的在FindReplace對話框里輸入通配符進行查找。我們不用關(guān)心這個類型實際存儲的數(shù)值,通配符匹配的是我們看到的東西,這也就是SearchFieldsasFmatted選項的意義,默認是勾上的。還要記住的是,控制面板里的區(qū)域

8、設(shè)置會影響我們看到的格式和搜索的方式。比如,Access可能會把部分日期顯示為羅馬數(shù)字,例如07IX1997,表示07Sept1997。我們搜索的時候,要以我們看到的為準則,這是規(guī)律。例如,我們輸入IX1997就可以查到1997年9月的所有記錄。另外,如果日期字段顯示的文本包含發(fā)音符號,比如或,我們必須在準則字符串里包括這些發(fā)音符號否則檢索不會成功。我們可以用通配符繞過輸入這些發(fā)音符號。例如,有一個日期格式3hein1997,我們的查詢

9、字符串可以寫成hein1997.如果試圖用FindReplace對話框搜索YesNo字段,Access會禁用該字段,對話框不返回任何結(jié)果。如果用查詢語句搜索YesNo字段,則可以使用通配符。但記住,YesNo字段只返回兩個值(0是false,1是true),所以通配符對搜索并幫不上什么忙。例如,準則=1和“Like1“返回的結(jié)果是一樣的。OLEObject字段不能查詢。用包含通配符的查詢語句()搜索DateTime字段對DateTime

10、字段進行搜索的查詢語句里可以使用通配符,但要記住一個關(guān)鍵點:跟FindReplace對話框不一樣,查詢不考慮格式的問題。比如查詢的準則寫成Like“10“。返回的結(jié)果有的看上去包含10,比如10Jul1996;但有的返回記錄看上去不包含10,比如03Oct1997。為什么呢?因為在格利高里(Gregian)歷里,October是第十個月。當你在查詢語句里使用通配符的時候,Access是不管字段的格式的。我們可以把DateTime字段的格

11、式去掉后再比較一下查詢的返回結(jié)果。通配符的最大用處是用Like操作符進行模糊查詢,Like操作符把表中字符串類型的字段跟某個模式進行比較。語法:expressionLike“pattern”語法部分描述expressionSQL表達式,往往出現(xiàn)在WHERE子句里,也可以出現(xiàn)在JoinOn子句里。通常是表字段名,或者是字段名作參數(shù)的函數(shù)。pattern模式文本字符串,表達式字符串跟它做比較。說明:Like操作符可以在字段里找出匹配指定模式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論