2023學(xué)年完整公開課版運(yùn)算符_第1頁
2023學(xué)年完整公開課版運(yùn)算符_第2頁
2023學(xué)年完整公開課版運(yùn)算符_第3頁
2023學(xué)年完整公開課版運(yùn)算符_第4頁
2023學(xué)年完整公開課版運(yùn)算符_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

主講教師:魏巍巍北京信息職業(yè)技術(shù)學(xué)院數(shù)據(jù)庫技術(shù)與應(yīng)用運(yùn)算符創(chuàng)建采集任務(wù)01運(yùn)算符01目錄CONTENTS運(yùn)算符01Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.算術(shù)運(yùn)算符除法運(yùn)算和求余運(yùn)算中,如果除數(shù)為0,將是非法除數(shù),返回結(jié)果為NULL對于求余運(yùn)算,還有另外一種表達(dá)方式,使用MOD(a,b)函數(shù)與a%b效果一樣運(yùn)算符作用+加法運(yùn)算-減法運(yùn)算*乘法運(yùn)算/除法運(yùn)算,返回商%求余運(yùn)算,返回余數(shù)運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.示例createtabletmp1(numint);insertintotmp1value(64);selectnum,num+10,num-3+5,num+36.5,num*2,num/2,num/3,num%3fromtmp1;selectnum,num/0,num%0fromtmp1;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.比較運(yùn)算符運(yùn)算符作用=等于<>

!=不等于<=>NULL安全的等于(NULL-safe)<小于<=小于等于>大于>=大于等于BETWEEN存在于指定范圍IN存在于指定集合ISNULL為NULLISNOTNULL不為NULLLIKE通配符匹配PEGEXP

PLIKE正則表達(dá)式匹配運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.等于運(yùn)算符(=)等號(=)用來判斷數(shù)字、字符串和表達(dá)式是否相等,如果相等,返回值為1,否則返回值為0。數(shù)值比較時有如下規(guī)則:(1)

若有一個或兩個參數(shù)為NULL,則比較運(yùn)算的結(jié)果為NULL。(2)

若同一個比較運(yùn)算中的兩個參數(shù)都是字符串,則按照字符串進(jìn)行比較。(3)

若兩個參數(shù)均為整數(shù),則按照整數(shù)進(jìn)行比較。(4)

若一個字符串和數(shù)字進(jìn)行相等判斷,則MySQL可以自動將字符串轉(zhuǎn)換為數(shù)字。select1=0,'2'=2,2=2,'0.02'=0,'b'='b',(1+3)=(2+2),NUll=NUll;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.安全等于運(yùn)算符(<=>)這個操作符和=操作符執(zhí)行相同的比較操作,不過<=>可以用來判斷NULL值。在兩個操作數(shù)均為NULL時,其返回值為1而不為NULL;而當(dāng)一個操作數(shù)為NULL時,其返回值為0而不為NULL.select1<=>0,'2'<=>2,2<=>2,'0.02'<=>0,'b'<=>'b',(1+3)<=>(2+2),NUll<=>NUll;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.小于或等于運(yùn)算符(<=)<=用來判斷左邊的操作數(shù)是否小于或者等于右邊的操作數(shù)。如果小于或者等于,返回值為1,否則返回值為0。<=不能用于判斷空值NULL。SELECT'good'<='god',1<=2,4<=4,5.5<5,(1+3)<=(2+1),NULL<=NUll;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.小于運(yùn)算符<運(yùn)算符用來判斷左邊的操作數(shù)是否小于右邊的操作數(shù),如果小于,返回值為1;否則返回值為0。<不能用于判斯空值NULL。SELECT'good'<'god',1<2,4<4,5.5<5,(1+3)<(2+1),NULL<NUll;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.ISNULL(ISNULL)和ISNOTNULL運(yùn)算符ISNULL和ISNULL檢驗(yàn)一個值是否為NULL,如果為NULL,返回值為1;否則返回值為0。ISNOTNULL檢驗(yàn)一個值是否非NULL,如果非NULL,返回值為1,否則返回值為0selectnullISNULL,ISNULL(NULL),ISNULL(10),10ISNOTNULL;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.LEAST運(yùn)算符語法格式為LEAST(值1,值2,...,值n),其中值n表示參數(shù)列表中有n個值。在有兩個或多個參數(shù)的情況下,返回最小值。假如任意一個自變量為NULL,則LEAST()的返回值為NULL。SELECTleast(2,0),least(20.0,3.0,100.5),least('a','c','b'),least(10,NULL);運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.GREATEST(value1,value2,...)語法格式為GREATEST(值1,值2,...,值n),其中值n表示參數(shù)列表中有n個值。在有兩個或多個參數(shù)的情況下,返回最大值。假如任意一個自變量為NULL,則GREATEST()的返回值為NULL。由結(jié)果可以看到,當(dāng)參數(shù)是整數(shù)或者浮點(diǎn)數(shù)時,GREATEST將返其中最大的值;當(dāng)參數(shù)為字符串時,返回字母表中順序最靠后的字符;當(dāng)比較值列表中有NULL時,不能判斷大小,返同值為NULL。SELECTgreatest(2,0),greatest(20.0,3.0,100.5),greatest('a','c','b'),greatest(10,NULL);運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.IN、NOTIN運(yùn)算符IN運(yùn)算符用來判斷操作數(shù)是否為IN列表中的一個值,如果是,返回值為1;否則返回只為0;NOTIN運(yùn)算符用來判斷表達(dá)式是否不是IN列表中的一個值,如果不是,返回值為1,否則返回值為0。由結(jié)果可以看到,IN和NOTIN的返回值正好相反。select2in(1,3,5,'thks'),'thks'in(1,3,5,'thks'),2notin(1,3,5,'thks'),'thks'notin(1,3,5,'thks');運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.LIKE運(yùn)算符LIKE運(yùn)算符用來匹配字符串,語法格式為“exprLIKE匹配條件”。如果expr滿足匹配條件,則返回值為1(TRUE);如果不匹配,則返回值為0(FALSE)。若expr或匹配條件中任何一個為NULL,則結(jié)果為NULL。LIKE運(yùn)算符在進(jìn)行匹配運(yùn)算時,可以使用下面兩種通配符。(1)%:匹配任意數(shù)目的字符,甚至包括零字符。(2)_:只能匹配一個字符。select'stud'LIKE'stud','stud'LIKE'stu_','stud'LIKE'%d','stud'LIKE't___','s'LIKENULL;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.REGEXP運(yùn)算符REGEXP運(yùn)算符用來匹配字符串,語法格式為“exprREGEXP匹配條件”。如果expr滿足兒條件,返回1;如果不滿足,則返回0;若expr或匹配條件中任意一個為NULL,則結(jié)果為NULL。REGEXP運(yùn)算符在進(jìn)行匹配運(yùn)算時,常用的有下面幾種通配符。(1)^:

匹配以該字符后面的字符開頭的字符串。

(2)$:

匹配以該字符后面的字符結(jié)尾的字符串。

(3).:

匹配任何一個單字符。

(4)[...]:

匹配在方括號內(nèi)的任意字符。例如,[abc]匹配a、b或c。為了命名字符的范圍,使用一個-。[a-z]匹配任意字母,而[0-9]匹配任意數(shù)字。

(5)*匹配一個或多個在它前面的字符。例如,x*匹配任意數(shù)量的x字符,[0-9]*匹配任意數(shù)量的數(shù)字,而.*匹配任意數(shù)量的任意字符。運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.正則表達(dá)式是一個可以進(jìn)行復(fù)雜查詢的強(qiáng)大工具,相對于LIKE字符串匹配,它可以使用更多的通配符類型,查詢結(jié)果更加靈活。SELECT'ssky'REGEXP'^s','ssky'REGEXP'y$','ssky'REGEXP'.sky','ssky'REGEXP'[ab]';運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.邏輯運(yùn)算符運(yùn)算符作用NOT

或者

!邏輯非AND或者

&&邏輯與OR

或者

||邏輯或XOR邏輯異或運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.NOT或者!邏輯非運(yùn)算符NOT或者!表示當(dāng)操作數(shù)為0時,所得值為1;當(dāng)操作數(shù)為非零值時,所得值為0;當(dāng)操作數(shù)為NULL時,所得的返回值為NULL。SELECTNOT10,NOT(1-1),!-5,!NULL,!1+1,NOT(1+1);運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.AND或者&&邏輯與運(yùn)算符AND成者&&表示當(dāng)所有操作數(shù)均為非零值、并且不為NULL時,計(jì)算所得結(jié)果為1;當(dāng)一個或多個操作數(shù)為0時,所得結(jié)為0;其余情況返回值為NULL。SELECT1AND-1,1AND0,1&&NULL,0&&NULL;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.OR或者||邏輯或運(yùn)算符OR和||表示當(dāng)兩個操作數(shù)均為非NULL值,且任意一個操作數(shù)為非零值時,結(jié)果為1,否則結(jié)果為0;當(dāng)有一個操作數(shù)為NULL,且另一個操作數(shù)為非零值時,則結(jié)果為1,否則結(jié)果為NULL;當(dāng)兩個操作數(shù)均為NULL時,所得結(jié)果為NULL。SELECT1OR-1OR0,1OR2,1ORNULL,0ORNULL,NULLORNULL;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.XOR邏輯異或運(yùn)算符XOR表示當(dāng)任意一個操作數(shù)為NULL時,返回值為NULL;對于非NULL為操作數(shù),如果兩個操作數(shù)都是非0值或者都是0值,則返回結(jié)果為0;如果一個為0值,另一個為非0值,返回結(jié)果為1。SELECT1XOR1,0XOR0,1XOR0,1XORNULL,1XOR1XOR1;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.位運(yùn)算符運(yùn)算符作用|位或&位與^位異或<<位左移>>位右移~位取反,翻轉(zhuǎn)所有比特運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.位或運(yùn)算符(|)位或運(yùn)算的實(shí)質(zhì)是將參與運(yùn)算的兩個數(shù)據(jù),按對應(yīng)的二進(jìn)制數(shù)逐位進(jìn)行邏輯或運(yùn)算。對應(yīng)的二進(jìn)制位有一個或兩個為1則該位的運(yùn)算結(jié)果為1,否則為0.10的二進(jìn)制數(shù)值為1010,15的二進(jìn)制數(shù)值為1111,按位或運(yùn)算之后,結(jié)果為111,即整數(shù)15;9的二進(jìn)制數(shù)值為1001,4的二進(jìn)制數(shù)值為0100,2的二進(jìn)制數(shù)值為0010,按位或運(yùn)算之后,結(jié)果為1111,即也是整數(shù)15。SELECT10|15,9|4|2;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.位與運(yùn)算符(&)位與運(yùn)算的實(shí)質(zhì)是將參與運(yùn)算的兩個操作數(shù),按對應(yīng)的二進(jìn)制數(shù)逐位進(jìn)行邏輯與運(yùn)算。對應(yīng)的二進(jìn)制位都為1,則該位的運(yùn)算結(jié)果為1,否則為0。10的二進(jìn)制數(shù)值為1010,15的一進(jìn)制數(shù)值為1111按位與運(yùn)算之后,結(jié)果為1010,即整數(shù)10;9的二進(jìn)制數(shù)值為1001,4的進(jìn)制教值為0100,2的二進(jìn)制數(shù)值為0010,按位與運(yùn)算之后,結(jié)果為0000,即整數(shù)0。SELECT10&15,9&4&2;運(yùn)算符Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.位異或運(yùn)算符(^)位異或運(yùn)算的實(shí)質(zhì)是將參與運(yùn)算的兩個數(shù)據(jù),按對應(yīng)的二進(jìn)制數(shù)逐位進(jìn)行邏輯異或運(yùn)算。對應(yīng)位的二進(jìn)制數(shù)不同時,對應(yīng)位的結(jié)果才為1,如果兩個對應(yīng)位數(shù)都為0或者都為1,則對應(yīng)位結(jié)果為0.10的二進(jìn)制數(shù)值為1010,15的二進(jìn)制數(shù)值為1111,按位與運(yùn)算之后,結(jié)果為0101,即整數(shù)51的二進(jìn)制數(shù)值為0001,0的二進(jìn)制數(shù)值為0000,按位與運(yùn)算之后,結(jié)果為0001;1

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論