ch303單行函數(shù)和多表查詢-第04章_第1頁
ch303單行函數(shù)和多表查詢-第04章_第2頁
ch303單行函數(shù)和多表查詢-第04章_第3頁
ch303單行函數(shù)和多表查詢-第04章_第4頁
ch303單行函數(shù)和多表查詢-第04章_第5頁
免費預覽已結(jié)束,剩余26頁可下載查看

下載本文檔

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

文檔簡介

第4章

單行函數(shù)己欲立而立人,己欲達而達人2勵志逆境成長3如何使用查詢語句選擇列、過濾行?回顧與作業(yè)點評如何去掉重復行?如何對過濾后的數(shù)據(jù)進行排序?5預習檢查什么是函數(shù)?和JS中的函數(shù)有什么區(qū)別?常用的oracle函數(shù)有哪些?舉幾個例子?6內(nèi)容進度Oracle的函數(shù)字符處理類函數(shù)數(shù)字、日期函數(shù)轉(zhuǎn)換函數(shù)通用函數(shù)8Oracle的函數(shù)什么是函數(shù)Oracle的函數(shù)和JavaScript中的函數(shù)(java中的方法)一樣,能完成一定的功能,比如字符大小寫轉(zhuǎn)換、日期格式處理等。函數(shù)分類根據(jù)函數(shù)的功能可以大概分為以下四類函數(shù)字符處理類函數(shù)數(shù)字、日期類函數(shù)轉(zhuǎn)換函數(shù)通用函數(shù)14內(nèi)容進度字符處理類函數(shù)Oracle的函數(shù)數(shù)字、日期函數(shù)轉(zhuǎn)換函數(shù)通用函數(shù)8字符處理類函數(shù)lower轉(zhuǎn)換為小寫需求1:把ename字段轉(zhuǎn)換成小寫 selectlower(ename)fromemp;需求2:查詢scott用戶的用戶名稱和賬戶狀態(tài)

命令行下輸入sqlplus/assysdba;--使用系統(tǒng)管理員登錄

因為數(shù)據(jù)庫中scott是以大寫形式”SCOTT”存儲的所以無法找到對應記錄,如果想找到scott用戶的信息需要進行大小寫轉(zhuǎn)換

14字符處理類函數(shù)其他字符處理類函數(shù)

14字符處理類函數(shù)字符處理類函數(shù)舉例

14內(nèi)容進度數(shù)字、日期函數(shù)Oracle的函數(shù)字符處理類函數(shù)轉(zhuǎn)換函數(shù)通用函數(shù)8數(shù)字、日期函數(shù)數(shù)字函數(shù)Round(參數(shù)1,[參數(shù)2])

功能:四舍五入,參數(shù)2可選,參數(shù)2表示保留幾位小數(shù)

Trunc(參數(shù)1,[參數(shù)2])

功能:截斷數(shù)字(直接忽略),參數(shù)2表示截斷到的小數(shù)位,如果參數(shù)2忽略則默認為0

14數(shù)字、日期函數(shù)日期函數(shù)需求1:獲得系統(tǒng)當前時間需求2:想知道雇員表中,部門編號為60的雇員,截止到今天共工作了多少周,則可以使用如下的SQL語句

14數(shù)字、日期函數(shù)日期函數(shù)需求3:下周三是幾號?

使用函數(shù)NEXT_DAY(date,char) date指定日期,char周幾,計算指定日期的下一個周幾是幾號

注意:1表示周日2表示周1以此類推

ROUND和TRUNC函數(shù)用于日期時,這些函數(shù)按指定的格式化模板四舍五入或截斷,默認到日,也可以四舍五入或截斷到月或年,如上圖所示

14數(shù)字、日期函數(shù)其他日期函數(shù)

14數(shù)字、日期函數(shù)日期函數(shù)舉例ROUND和TRUNC函數(shù)用于日期時,這些函數(shù)按指定的格式化模板四舍五入或截斷,默認到日,也可以四舍五入或截斷到月或年

14數(shù)字、日期函數(shù)日期函數(shù)在英文系統(tǒng)中,月用三個字母作為縮寫1到12月分別是:JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC,周用具體的英文字母表示周1到周日分別是:SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY在中文系統(tǒng)(字符集)下,月和周的表示方式更簡單,直接用1月、2月…12月,星期一、星期二…星期日表示

14內(nèi)容進度轉(zhuǎn)換函數(shù)Oracle的函數(shù)字符處理類函數(shù)數(shù)字、日期函數(shù)通用函數(shù)8轉(zhuǎn)換函數(shù)to_char(參數(shù))功能:將指定參數(shù)轉(zhuǎn)換成字符

需求1:轉(zhuǎn)換貨幣格式 selectto_char(sal,‘$99,999.9999’)

as工資fromemp; 9表示一位數(shù)字,如果該位沒有數(shù)字則不顯示,但小數(shù)點后的數(shù)字

必須顯示,如果如右圖所示14轉(zhuǎn)換函數(shù)to_char(參數(shù))

需求2:格式化日期格式 selectto_char(hiredate,'YYYY-MM-DDHH:MI:SS')fromemp; selectto_char(sysdate,'YYYY-MM-DDHH:MI:SS')fromdual; selectto_char(sysdate,'YYYY-MM-DDHH24:MI:SS')fromdual;

注意: oracle日期大小寫都一樣,java大小寫不一樣

分和java不一樣用MI表示java用mm表示 oracle24小時制用HH24表示java用HH表示14轉(zhuǎn)換函數(shù)to_date(參數(shù))

功能:將指定參數(shù)轉(zhuǎn)換成date類型

需求:查詢?nèi)肼毴掌谠凇?981-2-2012:34:56’

之后的員工的姓名和入職日期 selectename,hiredatefromemp wherehiredate>to_date('1981-2-2012:34:56','YYYY-MM-DDHH24:MI:SS');to_number(參數(shù))

功能:將指定參數(shù)轉(zhuǎn)換成number類型 selectsalfromemp wheresal>to_number('$1,250.00','$9,999.99');14內(nèi)容進度通用函數(shù)Oracle的函數(shù)字符處理類函數(shù)數(shù)字、日期函數(shù)轉(zhuǎn)換函數(shù)8通用函數(shù)NVL函數(shù)求真正的年薪(帶年終獎),使用如下語句會發(fā)生錯誤,如下左圖 selectename,sal*masannual_salfromemp 原因是null和任何數(shù)參與四則運算都返回null-nvl(comm,0)如果第一個參數(shù)為null,則返回第二個參數(shù)(0),如果第一個參數(shù)不為null,則函數(shù)返回第一個參數(shù)本身selectename,sal*12+nvl(comm,0)asannual_salfromemp如右圖14通用函數(shù)NVL2函數(shù)NVL2(參數(shù)1,參數(shù)2,參數(shù)3)

功能:參數(shù)1不是null返回參數(shù)2

參數(shù)1是null返回參數(shù)3

需求:有年終獎comm的員工過節(jié)費是月薪的30%

沒有年終獎的員工過節(jié)費是月薪的50% selectename,nvl2(comm,sal*0.3,sal*0.5)as過節(jié)費fromemp14通用函數(shù)COALESCE函數(shù)COALESCE函數(shù)比NVL函數(shù)功能強大,它能夠接受多個交替的值,其語法形式如下COALESCE(expr1,expr2,…exprn)

作用:如果表達式1為非空,則返回表達式1的值;如果表達式1為空,則返回表達式2的值,依次類推,如果前面的表達式都為空,則返回表達式n的值

需求:如果員工有年終獎comm,則返回年終獎數(shù)值

沒有年終獎時,如果有上司則返回上司編號,沒有上司則該員工是老板,顯示“老板”即可 selectename,coalesce(to_char(comm),to_char(mgr),'老板')fromemp;14課堂練習01:002734

溫馨提示

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

最新文檔

評論

0/150

提交評論