字符函數(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:表示星期幾)對(duì)應(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ù)類(lèi)型轉(zhuǎn)換函數(shù),該函數(shù)可以把x轉(zhuǎn)換為對(duì)應(yīng)的type的數(shù)據(jù)類(lèi)型烤咧,基本上用于數(shù)字偏陪,字符,時(shí)間類(lèi)型安裝數(shù)據(jù)庫(kù)規(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í)間類(lèi)型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í)間類(lèi)型結(jié)果。
select to_date('2018-11-13','yyyy-mm-dd') from dual;
to_number(x,f):可以把字符串x按照格式f進(jìn)行格式化轉(zhuǎn)換為數(shù)值類(lèi)型結(jié)果昌阿。
select to_number('123.74','999.99') from dual饥脑;