Oracle函数

字符函数:

RPAD右补字符串 RPAD(X,length,Y) ,LPAD 左补字符串 LPAD(X,length,Y) 。

日期函数:

ADD_MONTHS(r,n)函数  r:指定的日期,n:要增加的月份数,如果N为负数,则表示减去的月份数。

LAST_DAY(r)函数:返回指定r日期的当前月份的最后一天日期。

NEXT_DAY(r,c)函数:返回指定R日期的后一周的与r日期字符(c:表示星期几)对应的日期。

EXTRACT(time)函数:返回指定time时间当中的年、月、日、分等日期部分。

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)函数:该函数返回r1日期和r2日期直接的月份。当r1>r2时,返回的是正数,假如r1和r2是不同月的同一天,则返回的是整数,否则返回的小数。当r1<r2时,返回的是负数。

ROUND(r[,f])函数:将日期r按f的格式进行四舍五入。如果f不填,则四舍五入到最近的一天。

select sysdate, --当前时间

      round(sysdate, 'yyyy') as year, --按年

      round(sysdate, 'mm') as month, --按月

      round(sysdate, 'dd') as day, --按天

      round(sysdate) as mr_day, --默认不填按天

      round(sysdate, 'hh24') as hour, --按小时

      round(sysdate, 'mi') as minute --按分钟

from dual;

TRUNC(r[,f])函数:将日期r按f的格式进行截取。如果f不填,则截取到当前的日期。

select sysdate, --当前时间

      trunc(sysdate, 'yyyy') as year, --按年

      trunc(sysdate, 'mm') as month, --按月

      trunc(sysdate, 'dd') as day, --按天

      trunc(sysdate) as mr_day, --默认不填按天

      trunc(sysdate, 'hh24') as hour, --按小时

      trunc(sysdate, 'mi') as minute --按分钟

  from dual;

数值函数:

power(x,y) 求x的y次幂 ;sqrt(x) 求x的平方根 ;

round(x,y) ; 求数值x在y位进行四舍五入。y不填时,默认为y=0; 当y>0时,是四舍五入到小数点右边y位。当y<0时,是四舍五入到小数点左边|y|位。

trunc(x,y);求数值x在y位进行直接截取y不填时,默认为y=0; 当y>0时,是截取到小数点右边y位。当y<0时,是截取到小数点左边|y|位

转换函数:

cast(x as type):数据类型转换函数,该函数可以把x转换为对应的type的数据类型,基本上用于数字,字符,时间类型安装数据库规则进行互转。

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):把字符串或时间类型x按格式f进行格式化转换为字符串。

select to_char(123.46,'999.9') ,to_char(sysdate,'yyyy-mm-dd') from dual;

to_date(x,f):可以把字符串x按照格式f进行格式化转换为时间类型结果。

select to_date('2018-11-13','yyyy-mm-dd') from dual;

to_number(x,f):可以把字符串x按照格式f进行格式化转换为数值类型结果。

select to_number('123.74','999.99') from dual;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容