Oracle單行函式以及日期計算的方式

2021-12-30 08:30:35 字數 2181 閱讀 9913

單行函式

字元型別單行函式 lower(列名) upper(列名)

查詢employees表last_name列中包含a(不區分大小寫)員工的last_name select last_name from empolyees where upper(last_name) like 『%a%』; substr(列名,n)–從指定的位置開始擷取字串直到字元的末尾 substr(列名,n,m)–從指定的位置開始擷取指定長度的字串 substr(列名,-n)–從倒數第n位開始擷取字串,直到字串的末尾 substr(列名,-n,m)–從倒數第n位開始擷取指定長度的字串 instr():在第乙個引數中查詢第二個引數首次出現的位置,沒找到返回0

查詢employees表中last_name包含a的員工的last_name select last_name

from employees

where instr(last_name,』a』)>0; length(『中國』)–獲得字元數 lengthb(『中國』)–獲得位元組數 trim(『zifu chuan』)–去掉字串兩端的空格 trim(『z』 from 『zzzifuchuanzzz』)–去掉字串兩端指定的字元 lpad()/rpad():顯示第乙個引數的值,使用第二個引數設定第乙個引數顯示的長度,如果第乙個引數長度不足,使用第三個引數在第乙個引數的左/右面補齊長度。 數字型別單行函式

round():四捨五入 trunc():擷取數字 mod():取餘數 日期型別單行函式 sysdate:獲得資料庫伺服器當前日期+時間

oracle中日期計算的方式

日期+天數=日期 日期-天數=日期 日期-日期=天數 日期不能加日期 months_between():獲得兩個日期相差的月數 add_months():在指定的日期上加上n個月 型別轉換單行函式

自動轉換:效率低,不建議使用 手動轉換:to_char(),to_date(),to_number()

字串可以與日期相互轉換 字串可以與數字相互轉換 數字與日期不能相互轉換 to_char():

to_char(sysdate,』yyyy-mm-dd』)年月日 (sysdate,』yyyy-mm-dd hh24:mi:ss day dy』)年月日時分秒星期星期 to_char(hire_date,』fmyyyy」年」mm」月」dd」日」』):2023年10月22 日 to_char(sysdate,』d dd ddd』):d數字表示的週幾,週日為1,依次類推,dd這個月的第幾天,ddd這一年的第幾天 to_date(c,f):根據模板f將字元型別c轉換為日期型別的值

to_date(『2017-10-1』,』yyyy-mm-dd』) to_number(c,f):根據模板f將字元型別c轉換為數字型別的值

to_number(『¥10,000.00』,』l99,999.00』) 通用單行函式

nvl():當地乙個引數不為null,返回第乙個引數,當第乙個引數為null,返回第二個引數,兩個引數型別必須一致 關聯式資料庫中當算術運算**現了null,結果一定為null nvl2():當第乙個引數不為null,返回第二個引數。當第乙個引數為null,返回第三個引數。 分支選擇:case表示式,decode()函式。

case表示式:結果的型別必須保持一致,只能判斷是否相等

查詢employees表中所有員工的last_name,job_id,salary,新工資。如果job_id為it_prog時,工資增加10%。如果job_id為st_clerk時,工資增加15%。如果job_id為sa_rep時,工資增加20%,其它職位工資不變。 select last_name,job_id,salary,

case

when job_id=』it_prog』 then salary*1.1

when job_id=』st_clerk』 then salary*1.15

when job_id=』sa_rep』 then salary*1.2

else salary

end as 新工資

from employees; decode():只能判斷是否相等

select last_name,job_id,salary,

decode(

job_id,

『it_prog』,salary*1.1,

『st_clerk』,salary*1.15,

『sa_rep』,salary*1.2,

salary

)as 新工資

from employees; end

sql日期有關函式以及oracle日期有關函式

sql日期有關函式以及oracle日期有關函式 sql日期函式 dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值。dateadd datepart number,date 日期部分 縮寫 year yy,yyyy quarter qq,q month mm,m day...

oracle 單行函式 日期函式

1.按天加 2.month between準確計算日期相差月份 select hire date,trunc sysdate hire date as 日期相減後,3.add months 月份新增 next day 得到下週某天的日期 last day 得到某月最後一天 select add mo...

oracle單行函式之日期函式

在日期上加上或減去乙個數字結果仍為日期。兩個日期相減返回日期之間相差的天數。可以用數字除24來向日期中加上或減去小時。1 sql select sysdate sysdate 2from dual 23 sysdate sysdate 24 52014 12 232014 12 2567 sql s...