Oracle中的單值函數(shù)_第1頁
Oracle中的單值函數(shù)_第2頁
Oracle中的單值函數(shù)_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Oracle中的單值函數(shù)Oracle的函數(shù)Oracle函數(shù)可以分為單值函數(shù)和分組函數(shù)兩大類,單值函數(shù)又分為字符函數(shù)、日期和時間函數(shù)、數(shù)字函數(shù)、轉換函數(shù)和混合函數(shù):分組函數(shù)右count、max、min、avg、sum,都可以和groupby搭配使用。單值函數(shù)字符函數(shù)字符串連接函數(shù)問題:把員工的姓名和工作類型連在一起使用"-"分隔函數(shù):concat(字符串1,字符串2)selectconcat(concat(ename,'-'),job)fromemp; 擴展點:字符串連接符號"||"selectename||'-'||jobfromemp;右對齊函數(shù)問題:將員工的姓名右對齊顯示函數(shù):lpad(待處理的字符串,預留位置,填充符號)selectlpad(ename,10,'')fromemp;字符串截取函數(shù)問題:截取員工姓名的前3個字符和字符4以后的內容顯示函數(shù):substr(字符串,起始位置,截取的個數(shù))substr(字符串,起始位置)--默認截取到最后selectename,substr(ename,1,3),substr(ename,4)fromemp;字符查找函數(shù)問題:字母'T'在員工姓名中第一次出現(xiàn)和第二次出現(xiàn)的位置函數(shù):instr(字符串,查找的字符,查找的起始位置,出現(xiàn)的次數(shù))selectename,instr(ename,'T',1,1)asA,instr(ename,'T',1,2)asBfromemp;擴展:員工姓名中不含M的員工selectenamefromempwhereinstr(ename,'M',1,1)=0首字母大寫函數(shù)問題:員工姓名首字母大寫顯示函數(shù):initcap(字符串)selectinitcap(ename)fromemp;小/大寫函數(shù)問題:將員工姓名大寫轉換函數(shù):upper(字符串)/lower(字符串)selectupper(ename),lower(ename)fromemp;字符串替換函數(shù)問題:將姓名中的M全部替換成'*'顯示函數(shù):replace(字符串,帶替換的字符,替換后的字符)selectreplace(ename,'M','*')fromemp;字符串長度函數(shù)問題:找出姓名長度大于5的員工姓名函數(shù):length(字符串)selectenamefromempwherelength(ename)>5;日期函數(shù)系統(tǒng)時間問題:返回系統(tǒng)的當前時間函數(shù):sysdate說明:1、函數(shù)沒有“()”2、dual是一張無意義的表,在Oracle專門用于函數(shù)的測試selectsysdatefromdual;使用一個to_char,轉換函數(shù)類型將時間類型轉成字符類型函數(shù):to_char(時間數(shù)據(jù),格式)selectto_char(sysdate,'yyyy-mm-ddhh:mi:ss')fromdual;格式:yyyy年mm月dd日期d一周中的第幾天ddd一年中的第幾天day周month月份hh2424小時制日期修改函數(shù)問題:將系統(tǒng)時間添加2個月顯示函數(shù):add_months(時間數(shù)據(jù),添加的月份)selectadd_months(sysdate,2)fromdual; 日期差函數(shù)問題:顯示員工入職時間的月份統(tǒng)計函數(shù):months_between(時間1,時間2)selectename,hiredate,months_between(sysdate,hiredate)fromemp;轉換函數(shù)to_char()見上例時間轉換函數(shù)函數(shù):to_date(時間數(shù)據(jù)字符串,格式)insertinto表名values(to_date('2009-12-12','yyyy-mm-dd'));案例1:查詢在12年前參加工作的員工Selectename,hiredatefromempwheremonths_between(sysdate,hiredate)>144案例2:查詢在當月倒數(shù)第三天參加工作的員工函數(shù):last_day(時間數(shù)據(jù))->返回該日期所在月份的最后一天selectename,hiredatefromempwherelast_day(hiredate)-2=hiredate;案例3:查詢每個員工的工作天數(shù)格式:時間1-時間2-->返回相差的天數(shù)selectename,hiredate,sysdate-hiredatefromemp;數(shù)學函數(shù)round(數(shù)字)四舍五入案例:按每月30天計算員工的每日薪水,要求計算結果四舍五入到小數(shù)點后2位函數(shù):round(數(shù)字,精度)selectename,round(sal/30,2)fromemp;trunc(數(shù)字)取整函數(shù)->只保留整數(shù)部分案例:查詢員工工作了多少個月selectename,trunc(months_between(sysdate,hiredate))fromemp;floor(數(shù)字)向下取floor(1.9)->1ceil(數(shù)字)向上取

溫馨提示

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

評論

0/150

提交評論