字符函數(shù):
RPAD右補(bǔ)字符串?RPAD(X,length,Y) ,LPAD 左補(bǔ)字符串 LPAD(X,length,Y) 。
日期函數(shù):
ADD_MONTHS(r,n)函數(shù)??r:指定的日期,n:要增加的月份數(shù),如果N為負(fù)數(shù),則表示減去的月份數(shù)。
LAST_DAY(r)函數(shù):返回指定r日期的當(dāng)前月份的最后一天日期。
NEXT_DAY(r,c)函數(shù):返回指定R日期的后一周的與r日期字符(c:表示星期幾)對應(yīng)的日期。
EXTRACT(time)函數(shù):返回指定time時(shí)間當(dāng)中的年、月、日、分等日期部分。
select extract( year from timestamp '2019-08-19 15:36:01') as year,
? ? ? ? extract( month from timestamp '2019-08-19 15:36:01') as month,? ? ? ?
? ? ? ? extract( day from timestamp '2019-08-19 15:36:01') as day,?
? ? ? ? extract( hour from timestamp '2019-08-19 15:36:01') as hour,
? ? ? ? extract( minute from timestamp '2019-08-19 15:36:01') as minute,
? ? ? ? extract( second from timestamp '2019-08-19 15:36:01') as second
from dual;
MONTHS_BETWEEN(r1,r2)函數(shù):該函數(shù)返回r1日期和r2日期直接的月份。當(dāng)r1>r2時(shí),返回的是正數(shù),假如r1和r2是不同月的同一天,則返回的是整數(shù),否則返回的小數(shù)。當(dāng)r1<r2時(shí),返回的是負(fù)數(shù)。
ROUND(r[,f])函數(shù):將日期r按f的格式進(jìn)行四舍五入。如果f不填,則四舍五入到最近的一天。
select sysdate, --當(dāng)前時(shí)間
? ? ? round(sysdate, 'yyyy') as year, --按年
? ? ? round(sysdate, 'mm') as month, --按月
? ? ? round(sysdate, 'dd') as day, --按天
? ? ? round(sysdate) as mr_day, --默認(rèn)不填按天
? ? ? round(sysdate, 'hh24') as hour, --按小時(shí)
? ? ? round(sysdate, 'mi') as minute --按分鐘
from dual;
TRUNC(r[,f])函數(shù):將日期r按f的格式進(jìn)行截取。如果f不填,則截取到當(dāng)前的日期。
select sysdate, --當(dāng)前時(shí)間
? ? ? trunc(sysdate, 'yyyy') as year, --按年
? ? ? trunc(sysdate, 'mm') as month, --按月
? ? ? trunc(sysdate, 'dd') as day, --按天
? ? ? trunc(sysdate) as mr_day, --默認(rèn)不填按天
? ? ? trunc(sysdate, 'hh24') as hour, --按小時(shí)
? ? ? trunc(sysdate, 'mi') as minute --按分鐘
? from dual;
數(shù)值函數(shù):
power(x,y)?求x的y次冪 ;sqrt(x)?求x的平方根 ;
round(x,y) ;?求數(shù)值x在y位進(jìn)行四舍五入。y不填時(shí),默認(rèn)為y=0; 當(dāng)y>0時(shí),是四舍五入到小數(shù)點(diǎn)右邊y位。當(dāng)y<0時(shí),是四舍五入到小數(shù)點(diǎn)左邊|y|位。
trunc(x,y);求數(shù)值x在y位進(jìn)行直接截取y不填時(shí),默認(rèn)為y=0; 當(dāng)y>0時(shí),是截取到小數(shù)點(diǎn)右邊y位。當(dāng)y<0時(shí),是截取到小數(shù)點(diǎn)左邊|y|位
轉(zhuǎn)換函數(shù):
cast(x as type):數(shù)據(jù)類型轉(zhuǎn)換函數(shù),該函數(shù)可以把x轉(zhuǎn)換為對應(yīng)的type的數(shù)據(jù)類型,基本上用于數(shù)字,字符,時(shí)間類型安裝數(shù)據(jù)庫規(guī)則進(jìn)行互轉(zhuǎn)。
select cast('123' as number) num,cast(123 as varchar2(3)) as ch,cast(to_date('20181112','yyyymmdd') as varchar2(12)) as time? from dual;
to_char(x,f):把字符串或時(shí)間類型x按格式f進(jìn)行格式化轉(zhuǎn)換為字符串。
select to_char(123.46,'999.9') ,to_char(sysdate,'yyyy-mm-dd') from dual;
to_date(x,f):可以把字符串x按照格式f進(jìn)行格式化轉(zhuǎn)換為時(shí)間類型結(jié)果。
select to_date('2018-11-13','yyyy-mm-dd') from dual;
to_number(x,f):可以把字符串x按照格式f進(jìn)行格式化轉(zhuǎn)換為數(shù)值類型結(jié)果。
select to_number('123.74','999.99') from dual;