版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第五章常用函數(shù)計(jì)算機(jī)科學(xué)與工程學(xué)院
2013年3月Dual表:是一個(gè)虛擬表,用于查詢那些不屬于實(shí)際表里的內(nèi)容。例:select3+3fromdual;例:查看當(dāng)前用戶selectuserfromdual;例:查看當(dāng)前日期、時(shí)間selectsysdatefromdual;
Oracle內(nèi)置函數(shù)(1)Oracle內(nèi)置函數(shù)(2)字符函數(shù)1
LOWER(char)返回字符串,并將所有的字符小寫。例:selectlower('AaBbCcDd')AaBbCcDdfromdual;例:將emp表的員工姓名全部轉(zhuǎn)換為小寫selectlower(eNAME)FROMscott.EMP;例:查詢員工姓名和工資,將emp表的員工姓名全部小寫顯示
selectlower(ENAME),salfromscott.emp;2UPPER(char)返回字符串,并將所有的字符大寫。例:selectupper('AaBbCcDd')fromdual;例:將員工名字按大寫方式顯示selectUPPER(ENAME)FROMscott.EMP;Oracle內(nèi)置函數(shù)(3)字符函數(shù)3LENGTH:返回字符串的長度;例:顯示正好有5個(gè)字符的員工姓名select*fromscott.empwherelength(ename)=5;注意:ename字段為varchar(10)類型,length(ename)是實(shí)際長度而不是定義時(shí)的長度,所以可以查詢到實(shí)際長度為5的名字。例:顯示正好有10個(gè)字符的員工姓名select*fromscott.empwherelength(ename)=10;4
SUBSTR(string,start,count):取子字符串,從start開始,取count個(gè)例:selectsubstr(,3,8)fromdual;例:顯示所有員工姓名的前3個(gè)字母selectsubstr(ename,1,3)fromscott.emp;
Oracle內(nèi)置函數(shù)(4)字符函數(shù)4
SUBSTR(string,start,count)(續(xù))例:以首字母大寫方式顯示員工的姓名①完成首字母大寫selectupper(substr(ename,1,1))fromscott.emp;②完成后面字母小寫selectlower(substr(ename,2,length(ename)-1))fromscott.emp;③合并selectupper(substr(ename,1,1))||lower(substr(ename,2,length(ename)-1))fromscott.emp;
Oracle內(nèi)置函數(shù)(5)字符函數(shù)4
SUBSTR(string,start,count)(續(xù))例:以首字母小寫方式顯示員工的姓名①完成首字母小寫selectlower(substr(ename,1,1))fromscott.emp;②完成后面字母大寫selectupper(substr(ename,2,length(ename)-1))fromscott.emp;③合并selectlower(substr(ename,1,1))||
upper(substr(ename,2,length(ename)-1))fromscott.emp;Oracle內(nèi)置函數(shù)(5)例:顯示正好有5個(gè)字符的員工的姓名selectenamefromscott.empwherelength(ename)=5;例:顯示所有員工姓名前3個(gè)字母selectsubstr(ename,1,3)fromscott.emp;Oracle內(nèi)置函數(shù)(6)字符函數(shù)5
replace(char,search_string,replace_string)search_string:要查找的字符串;replace_string:用于替換search_string的字符串。例:顯示所有員工姓名,用“我是老鼠”替換所有’A’selectreplace(ename,'A‘,'我是老鼠‘)fromscott.emp;
Oracle內(nèi)置函數(shù)(7)數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)的輸入?yún)?shù)和返回值的數(shù)據(jù)類型都是數(shù)字類型。1round(n,[m]):用于執(zhí)行四舍五入運(yùn)算。如果省略m,則四舍五入至整數(shù)位,如果m是負(fù)數(shù),則四舍五入到小數(shù)點(diǎn)前m位,如果m是正數(shù),則四舍五入到小數(shù)點(diǎn)后m位。例:查詢ALLEN的年薪select(round(sal)+round(comm))*13FROMEMPWHERENAME='ALLEN';
注意:此時(shí)COMM為空的列,年薪也為空,需用NVL函數(shù)處理例:selectround(15.567,2)fromdual;selectscott.emp.*,(round(sal)+round(nvl(comm,0)))*13FROMscott.EMP;Oracle內(nèi)置函數(shù)(8)數(shù)學(xué)函數(shù)2trunc(n,[m]):用于截取數(shù)字,如果省略m,則省去小數(shù)部分,如果m是正數(shù),則截取到小數(shù)點(diǎn)后m位;如果m是負(fù)數(shù),則截取到小數(shù)點(diǎn)前m位。例:①selecttrunc(45.936)fromdual;②selecttrunc(45.936,2)fromdual;③selecttrunc(45.936,-1)fromdual;3MOD(n1,n2)返回一個(gè)n1除以n2的余數(shù)例:selectmod(10,3),mod(3,3),mod(2,3)fromdual;4floor(n):返回小于或等于n的最大整數(shù)例:selectfloor(12.56)fromdual;
Oracle內(nèi)置函數(shù)(8)數(shù)學(xué)函數(shù)5ceil(n):返回大于或等于n的最小整數(shù)。
例:selectceil(12.56)fromdual;
例:selectceil(comm)FROMEMPWHEREename=‘ALLEN’;Oracle內(nèi)置函數(shù)(8)日期函數(shù)
默認(rèn)情況下,日期格式為dd_mod_yy1sysdate:該函數(shù)返回系統(tǒng)時(shí)間selectsysdatefromdual;2
add_months(d,n):用于在指定日期上增加月數(shù),其中d用于指定日期數(shù)據(jù),n可以是任意整數(shù)
例:返回當(dāng)前日期后5個(gè)月的日期
selectadd_months(sysdate,5)fromdual;
例:顯示入職300個(gè)月以上的員工
select*fromempwheresysdate>add_months(HIREDATE,300);Oracle內(nèi)置函數(shù)(9)2add_months(d,n)(續(xù))例:顯示滿10年服務(wù)年限的員工的姓名和受雇傭日期select*fromempwheresysdate>=add_months(HIREDATE,10*12);例:對于每個(gè)員工,顯示其加入公司的天數(shù)selectsysdate-hiredatefromemp;3last_day(d):該函數(shù)用于返回指定日期所處月份的最后一天
例:selectlast_day(sysdate)fromdual;例:selectlast_day('4-9月-11')fromdual;例:找出各月倒數(shù)第三天受雇傭的員工selecthiredate,namefromempwherelast_day(hiredate)-2=hiredate;Oracle內(nèi)置函數(shù)(9)4next_day(d,char):用于返回指定日期后第一個(gè)工作日(由char指定)所對應(yīng)的星期。例:Selectnext_day(sysdate,'星期一')fromdual;5months_between(d1,d2):返回d1和d2之間相差的月數(shù),如果d1小于d2,則返回負(fù)數(shù);如果d1和d2的天數(shù)相同或都是月底,則返回為整數(shù);否則oracle以每月31天為準(zhǔn),計(jì)算結(jié)果有小數(shù)部分例:selectmonths_between(sysdate,'10_4月_10')fromdual;6current_date:返回會話時(shí)區(qū)的日期。例:selectcurrent_datefromdual;7current_timestamp:用于返回會話時(shí)區(qū)的日期時(shí)間
例:selectcurrent_timestampfromdual;Oracle內(nèi)置函數(shù)(10)轉(zhuǎn)換函數(shù)將一種數(shù)據(jù)類型轉(zhuǎn)換成另一種數(shù)據(jù)類型,可以是隱式轉(zhuǎn)換,即由系統(tǒng)自動(dòng)完成,顯示轉(zhuǎn)換則需要調(diào)用轉(zhuǎn)換函數(shù)。隱式轉(zhuǎn)換:例:createtablet1(idint);
insertintot1values('10')系統(tǒng)自動(dòng)將’10’轉(zhuǎn)換為數(shù)值10例:createtablet2(idvarchar2(10));
insertintot2values(1);系統(tǒng)自動(dòng)將數(shù)值1轉(zhuǎn)換為‘1’Oracle內(nèi)置函數(shù)(11)轉(zhuǎn)換函數(shù)1to_char(d[,fmt[,’nlsparams’]]):用于將日期值和數(shù)字值轉(zhuǎn)變?yōu)樽址?,d用于指定日期值;fmt用于指定日期格式,如果省略,則使用默認(rèn)日期顯示格式;‘nlsparams’用于指定日期顯示語言,指定方式為‘nls_date_language=language’,如果省略,則使用默認(rèn)的日期語言。例:selectto_char(sysdate,'dd_mon_yy')fromdual;
例:selectename,to_char(hiredate,'yyyy_mm_dd:hh24:mi:ss')fromscott.emp;
例:selectename,to_char(hiredate,'yyyy_mm_ddhh24:mi:ss'),to_char(sal,'l99999.99')fromscott.emp;格式模型fmt有以下一些元素:yy:兩位數(shù)字的年份,如2003年——03;
yyyy:4位數(shù)字的年份,如2003年——2003;year:英文全拼的年份,如2003年——twothousandthreeOracle內(nèi)置函數(shù)(12)轉(zhuǎn)換函數(shù)1to_char(d[,fmt[,’nlsparams’]])(續(xù))mm:兩位數(shù)字的月份,如3月——03;mon:簡拼的月份,如3月——MAR(英文),3月——3月(中文);month:全拼的月份,例如3月——MARCH(英文),3月(中文);DD:2位數(shù)字的天,如30號——30;DDSPTH:英文全拼的天,例如30號——THIRTIETHDY:工作日的縮寫,例如2003年3月30日——SUNDAY(英文),星期日(中文);DAY:工作日的全拼,例如2003年3月30日——SUNDAY(英文),星期日(中文);Hh24:按照24小時(shí)格式顯示小時(shí),如晚上8點(diǎn)——20;Hh12:按照12小時(shí)格式顯示小時(shí),如晚上8點(diǎn)——08;Mi:顯示分鐘Ss:顯示秒;Oracle內(nèi)置函數(shù)(12)轉(zhuǎn)換函數(shù)2to_char(n,[fmt]):用于將數(shù)字值轉(zhuǎn)換成fmt格式的varchar2類型的值。如果省略fmt,則顯示實(shí)際的數(shù)字值。格式模型的元素如下:9:顯示數(shù)字,并且忽略前導(dǎo)0;
0:顯示數(shù)字,如果位數(shù)不足,則用0補(bǔ)齊;.:在指定位置顯示小數(shù)點(diǎn);,:在指定位置顯示逗號;$
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 3098.5-2025緊固件機(jī)械性能第5部分:自攻螺釘
- GB/T 70.4-2025緊固件內(nèi)六角螺釘?shù)?部分:降低承載能力內(nèi)六角平圓頭凸緣螺釘
- 晉中科目四考試試題及答案
- 對化妝品業(yè)采購成本控制的探討-以瑪麗黛佳化妝品有限公司為例
- 第2講 動(dòng)能和動(dòng)能定理
- 2025年高職水利工程施工技術(shù)(水利施工工藝)試題及答案
- 2025年高職電力工程及自動(dòng)化(電力系統(tǒng)運(yùn)維)試題及答案
- 2025-2026年六年級語文(寫作精練)下學(xué)期期中測試卷
- 2025年中職(畜牧獸醫(yī))動(dòng)物疫苗接種試題及答案
- 2025年中職生物技術(shù)基礎(chǔ)(酶工程基礎(chǔ))試題及答案
- 2024廣東廣州市海珠區(qū)琶洲街道招聘雇員(協(xié)管員)5人 備考題庫帶答案解析
- 蓄電池安全管理課件
- 建筑業(yè)項(xiàng)目經(jīng)理目標(biāo)達(dá)成度考核表
- 2025廣東肇慶四會市建筑安裝工程有限公司招聘工作人員考試參考題庫帶答案解析
- 第五單元國樂飄香(一)《二泉映月》課件人音版(簡譜)初中音樂八年級上冊
- 簡約物業(yè)交接班管理制度
- 收購摩托駕校協(xié)議書
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
- HYT 082-2005 珊瑚礁生態(tài)監(jiān)測技術(shù)規(guī)程(正式版)
- 區(qū)塊鏈技術(shù)在旅游行業(yè)的應(yīng)用
- 機(jī)械制造技術(shù)課程設(shè)計(jì)-低速軸機(jī)械加工工藝規(guī)程設(shè)計(jì)
評論
0/150
提交評論