文章編號(hào):10430時(shí)間:2024-09-28人氣:
在sql結(jié)構(gòu)化查詢語(yǔ)言中,like語(yǔ)句有著至關(guān)重要的作用。
like語(yǔ)句的語(yǔ)法格式是:select * from 表名 where 字段名 like 對(duì)應(yīng)值(子串),它主要是針對(duì)字符型字段的,它的作用是在一個(gè)字符型字段列中檢索包含對(duì)應(yīng)子串的。
A:% 包含零個(gè)或多個(gè)字符的任意字符串:
1、likeMc% 將搜索以字母 Mc 開(kāi)頭的所有字符串(如 McBadden)。
2、like%inger 將搜索以字母 inger 結(jié)尾的所有字符串(如 Ringer、Stringer)。
3、like%en% 將搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
B:_(下劃線) 任何單個(gè)字符:
like_heryl 將搜索以字母 heryl 結(jié)尾的所有六個(gè)字母的名稱(如 Cheryl、Sheryl)。
C:[ ] 指定范圍 ([a-f]) 或集合 ([abcdef]) 中的任何單個(gè)字符:
1,like[CK]ars[eo]n 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、like[M-Z]inger 將搜索以字符串 inger 結(jié)尾、以從 M 到 Z 的任何單個(gè)字母開(kāi)頭的所有名稱(如 Ringer)。
D:[^] 不屬于指定范圍 ([a-f]) 或集合 ([abcdef]) 的任何單個(gè)字符:
likeM[^c]% 將搜索以字母 M 開(kāi)頭,并且第二個(gè)字母不是 c 的所有名稱(如MacFeaTher)。
E:* 它同于DOS命令中的通配符,代表多個(gè)字符:
c*c代表cc,cBc,cbc,cabdfec等多個(gè)字符。
F:?同于DOS命令中的?通配符,代表單個(gè)字符 :
b?b代表brb,bFb等
G:# 大致同上,不同的是代只能代表單個(gè)數(shù)字。 k#k代表k1k,k8k,k0k 。
下面我們來(lái)舉例說(shuō)明一下:
例1,查詢name字段中包含有“明”字的。
select * from table1 where name like %明%
例2,查詢name字段中以“李”字開(kāi)頭。
select * from table1 where name like 李*
例3,查詢name字段中含有數(shù)字的。
select * from table1 where name like %[0-9]%
例4,查詢name字段中含有小寫(xiě)字母的。
select * from table1 where name like %[a-z]%
例5,查詢name字段中不含有數(shù)字的。
select * from table1 where name like %[!0-9]%
以上例子能列出什么值來(lái)顯而易見(jiàn)。 但在這里,我們著重要說(shuō)明的是通配符“*”與“%”的區(qū)別。
很多朋友會(huì)問(wèn),為什么我在以上查詢時(shí)有個(gè)別的表示所有字符的時(shí)候用%而不用“*”?先看看下面的例子能分別出現(xiàn)什么結(jié)果:
select * from table1 where name like *明*
select * from table1 where name like %明%
大家會(huì)看到,前一條語(yǔ)句列出來(lái)的是所有的記錄,而后一條記錄列出來(lái)的是name字段中含有“明”的記錄,所以說(shuō),當(dāng)我們作字符型字段包含一個(gè)子串的查詢時(shí)最好采用“%”而不用“*”,用“*”的時(shí)候只在開(kāi)頭或者只在結(jié)尾時(shí),而不能兩端全由“*”代替任意字符的情況下。
SQL模糊查詢,使用like比較關(guān)鍵字,加上SQL里的通配符,請(qǐng)參考以下: 1、LIKEMc% 將搜索以字母 Mc 開(kāi)頭的所有字符串(如 McBadden)。 2、LIKE%inger 將搜索以字母 inger 結(jié)尾的所有字符串(如 Ringer、Stringer)。 3、LIKE%en% 將搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 4、LIKE_heryl 將搜索以字母 heryl 結(jié)尾的所有六個(gè)字母的名稱(如 Cheryl、Sheryl)。 5、LIKE[CK]ars[eo]n 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。 6、LIKE[M-Z]inger 將搜索以字符串 inger 結(jié)尾、以從 M 到 Z 的任何單個(gè)字母開(kāi)頭的所有名稱(如 Ringer)。 7、LIKEM[^c]% 將搜索以字母 M 開(kāi)頭,并且第二個(gè)字母不是 c 的所有名稱(如MacFeather)。 ------------------------------------------------- 下 面這句查詢字符串是我以前寫(xiě)的,根據(jù)變量 zipcode_key 在郵政編碼表 zipcode 中查詢對(duì)應(yīng)的數(shù)據(jù),這句是判斷變量 zipcode_key 為非數(shù)字時(shí)的查詢語(yǔ)句,用 % 來(lái)匹配任意長(zhǎng)度的字符串,從表中地址、市、省三列中查詢包含關(guān)鍵字的所有數(shù)據(jù)項(xiàng),并按省、市、地址排序。 這個(gè)例子比較簡(jiǎn)單,只要你理解了方法就可以寫(xiě)出更 復(fù)雜的查詢語(yǔ)句。 sql = select * from zipcode where (address like% & zipcode_key & %) or (city like% & zipcode_key & %) or (province like% & zipcode_key & %) order by province,city,address存儲(chǔ)過(guò)程中使用模糊查詢的例子:SELECT * FROM Questions where QTitle like % [ + @KeyWord + ] % and IsFinish = @IsFinsih語(yǔ)句中成對(duì)的方括號(hào) 是書(shū)寫(xiě)格式的關(guān)鍵。
like一般包含有通配符,%代表0個(gè)或多個(gè)字符,_代表一個(gè)字符,即like是模糊查詢,=是精確匹配,比如 姓名 like 張%是查詢姓張的人,姓名=張三,是查找名字是張三的人
1、多字段like模糊查詢優(yōu)化: 最常見(jiàn)的寫(xiě)法: wherea like %xx% or b like %xx% or c like %xx%; 這種寫(xiě)法查詢效率低,經(jīng)過(guò)調(diào)查,下面的方法可以替代,并且效率高: 2、如果like的關(guān)鍵字相同: where instr(nvl(a, )||nvl(b,)||nvl(c,), xx) > 0 把要模糊查詢的字段先拼接起來(lái),拼接時(shí)需要把null轉(zhuǎn)成‘’,否則只要有一個(gè)字段值是空,整個(gè)拼接的字符串都成空了, 然后用instr 函數(shù)去過(guò)濾; 3、如果like的關(guān)鍵字不同: where instr(a, xx) > 0orinstr(b, yy) > 0or instr(c, zz) > 0 經(jīng)過(guò)測(cè)試,這兩種方法都比like效率要高;
通配符是進(jìn)行模糊查詢時(shí)用到的,比如有個(gè)字段是字符串,你想找abc開(kāi)頭的字符串,因?yàn)閍bc開(kāi)頭的字符串有很多很多,可能會(huì)有abc、abcd、abcdd。 。 。 。 。 。 。 ,也就是說(shuō)abc后面可能會(huì)有0個(gè)字符(abc),也可能有多個(gè)字符(abcd、abcdd。 。 。 。 ),你得寫(xiě)xxxx like abc% ,再打個(gè)比方,你查找全部姓王的同事,你可以寫(xiě) xxxx like 王%,姓王的可能是2個(gè)字,也可能是3個(gè)字查一個(gè)單詞第四個(gè)字母是a的應(yīng)該這樣表達(dá):xxxx like ____a%如果不用通配符,like相當(dāng)于=like是用來(lái)按照你要求查找字符串地明白了嗎?
內(nèi)容聲明:
1、本站收錄的內(nèi)容來(lái)源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請(qǐng)聯(lián)系我們進(jìn)行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請(qǐng)聯(lián)系我們進(jìn)行舉報(bào)處理!
4、本文地址:http://www.hudongshop.com/article/813fcf0f2a419eea8a45.html,復(fù)制請(qǐng)保留版權(quán)鏈接!
XSLT,可擴(kuò)展樣式表語(yǔ)言轉(zhuǎn)換,是一種強(qiáng)大的工具,可用于將XML文檔轉(zhuǎn)換為其他格式,例如HTML、文本或其他XML,掌握XSLT的基礎(chǔ)知識(shí)對(duì)于處理XML至關(guān)重要,這將極大提升您的XML處理能力,XML的基礎(chǔ)知識(shí)在深入探討XSLT之前,讓我們先了解XML的基礎(chǔ)知識(shí),XML,可擴(kuò)展標(biāo)記語(yǔ)言,是一種可用于表示數(shù)據(jù)的標(biāo)記語(yǔ)言,它使用標(biāo)簽來(lái)定義...。
本站公告 2024-09-26 22:44:37
前言在SQLServer中,RAISERROR語(yǔ)句是一個(gè)強(qiáng)大的工具,可用于向應(yīng)用程序或用戶發(fā)送自定義錯(cuò)誤消息,它允許您指定錯(cuò)誤號(hào)碼、嚴(yán)重性級(jí)別和自定義消息文本,借助此功能,您可以提供更具信息性和有用的錯(cuò)誤消息,從而改善用戶體驗(yàn)並簡(jiǎn)化故障排除過(guò)程,RAISERROR語(yǔ)法RAISERROR語(yǔ)句的基本語(yǔ)法如下,RAISERROR,messa...。
互聯(lián)網(wǎng)資訊 2024-09-25 11:54:11
簡(jiǎn)介數(shù)據(jù)庫(kù)事務(wù)是數(shù)據(jù)庫(kù)管理系統(tǒng)中的一組相關(guān)操作,這些操作作為一個(gè)整體執(zhí)行,要么全部成功,要么全部失敗,事務(wù)通常用于確保數(shù)據(jù)的一致性和完整性,在MySQL中,使用BEGINTRANSACTION命令開(kāi)始事務(wù),使用COMMIT提交事務(wù),使用ROLLBACK回滾事務(wù),BeginTransaction的好處使用BEGINTRANSACTION...。
本站公告 2024-09-23 06:59:30
在JavaScript中,split,方法是一種強(qiáng)大的工具,可用于將字符串拆分為一個(gè)數(shù)組,它允許你根據(jù)指定的模式或分隔符將字符串分解為更小的片段,本文將深入探討split,方法,包括它的語(yǔ)法、參數(shù)、返回值和使用示例,以幫助你充分利用它,語(yǔ)法split,方法的語(yǔ)法如下,string.split,[separator[,limit]...。
最新資訊 2024-09-14 22:15:31
概述wxPython是一個(gè)強(qiáng)大的GUI,圖形用戶界面,庫(kù),它允許開(kāi)發(fā)人員使用Python編程語(yǔ)言為不同的平臺(tái)創(chuàng)建跨平臺(tái)應(yīng)用程序,包括桌面、移動(dòng)和Web,本文將重點(diǎn)介紹wxPython在跨平臺(tái)開(kāi)發(fā)中的優(yōu)勢(shì),以及如何在桌面、移動(dòng)和Web平臺(tái)上構(gòu)建應(yīng)用程序,桌面開(kāi)發(fā)對(duì)于桌面開(kāi)發(fā),wxPython提供了一個(gè)廣泛的控件和布局選項(xiàng),使開(kāi)發(fā)人員能夠...。
本站公告 2024-09-14 20:31:26
序在`web.xml`文件中設(shè)置Jersey應(yīng)用程序,```xmlJerseyServletorg.glassfish.jersey.servlet.ServletContainerjersey.config.server.provider.packagescom.example.restapi1```測(cè)試API啟動(dòng)Web應(yīng)用程序并使...。
最新資訊 2024-09-14 12:45:32
變量或JavaScript,您可以輕松自定義滾動(dòng)條顏色以匹配您的網(wǎng)站設(shè)計(jì),通過(guò)發(fā)揮創(chuàng)造力,您可以使用多種方式讓您的滾動(dòng)條脫穎而出,并為您的用戶提供更好的體驗(yàn),我們希望本指南對(duì)您有所幫助!如果您有任何其他問(wèn)題,請(qǐng)隨時(shí)在評(píng)論中詢問(wèn),...。
技術(shù)教程 2024-09-14 10:35:30
的單元格求和=SUMIF,A1,A10,>,0,AVERAGEIF對(duì)滿足指定條件的單元格求平均值=AVERAGEIF,A1,A10,>,0,COUNTIF統(tǒng)計(jì)滿足指定條件的單元格個(gè)數(shù)=COUNTIF,A1,A10,>,0,MAXIFS對(duì)滿足指定條件的單元格求最大值=MAXIFS,A1,A10,B1,B10,>,0,查找...。
技術(shù)教程 2024-09-13 14:03:33
應(yīng)用很有用,優(yōu)化函數(shù)信號(hào)發(fā)生器性能的最佳實(shí)踐了解應(yīng)用的具體要求,選擇性能符合要求的信號(hào)發(fā)生器,正確配置信號(hào)發(fā)生器的設(shè)置,定期校準(zhǔn)信號(hào)發(fā)生器,使用高質(zhì)量的連接器和電纜,探索高級(jí)功能,以擴(kuò)展信號(hào)生成器的功能,結(jié)論通過(guò)應(yīng)用這些秘訣和技巧,可以顯著優(yōu)化函數(shù)信號(hào)發(fā)生器的性能,這將確保設(shè)備產(chǎn)生準(zhǔn)確且可靠的信號(hào),從而提高電子測(cè)試和測(cè)量應(yīng)用的質(zhì)量和效...。
互聯(lián)網(wǎng)資訊 2024-09-13 13:51:09
C語(yǔ)言是一種廣泛使用且功能強(qiáng)大的編程語(yǔ)言,在操作系統(tǒng)、嵌入式系統(tǒng)、游戲開(kāi)發(fā)等領(lǐng)域有著廣泛的應(yīng)用,如果您想學(xué)習(xí)C語(yǔ)言,北京是一個(gè)理想的城市,這里匯集了眾多優(yōu)秀的C語(yǔ)言培訓(xùn)機(jī)構(gòu),尋找適合您的培訓(xùn)機(jī)構(gòu)在選擇培訓(xùn)機(jī)構(gòu)時(shí),請(qǐng)考慮以下因素,口碑和評(píng)價(jià),查看機(jī)構(gòu)的在線評(píng)價(jià)和口碑,了解其他學(xué)生的學(xué)習(xí)體驗(yàn),課程內(nèi)容,確保課程內(nèi)容涵蓋您需要的基礎(chǔ)和高級(jí)C...。
技術(shù)教程 2024-09-11 23:19:33
簡(jiǎn)介ASP,ActiveServerPages,是一種Microsoft技術(shù),可用于創(chuàng)建動(dòng)態(tài)Web應(yīng)用程序,本指南將帶您逐步了解ASP編程的基礎(chǔ)知識(shí),即使您沒(méi)有編程經(jīng)驗(yàn),也可以上手,安裝和設(shè)置安裝IIS在您的計(jì)算機(jī)上安裝IIS,Internet信息服務(wù),以運(yùn)行ASP網(wǎng)站,訪問(wèn)Microsoft網(wǎng)站下載并安裝最新版本的IIS,創(chuàng)建虛擬目...。
技術(shù)教程 2024-09-09 18:14:37
異常處理在什么時(shí)候進(jìn)行異常處理是在程序運(yùn)行時(shí)遇到錯(cuò)誤或異常情況時(shí)進(jìn)行的,這些情況通常是由代碼中不可預(yù)見(jiàn)的事件或條件引起的,例如,訪問(wèn)不存在的內(nèi)存地址除以零文件打開(kāi)失敗函數(shù)調(diào)用返回錯(cuò)誤當(dāng)發(fā)生異常時(shí),程序會(huì)跳出正常的執(zhí)行流程,并執(zhí)行異常處理代碼,異常處理代碼可以嘗試處理該異常,例如通過(guò)恢復(fù)操作或提供錯(cuò)誤信息,或者它可以將異常傳遞給調(diào)用者,...。
互聯(lián)網(wǎng)資訊 2024-09-07 05:21:42