oracle经验之谈PL/SQL

3、单行函数—日期函数

2018-10-18  本文已影响0人  小母牛不生产奶

Months_between()

months_between函数返回两个日期之间的月份数。如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一个整数,否则,返回数值带小数,以每天1/31月来计算月中剩余天数。

select months_between(sysdate,to_date('2016-05-16','yyyy-MM-dd')) from dual;

Add_months()

ADD_MONTHS是运算函数,函数将一个日期上加上一指定的月份数,所以,日期中的日是不变的

select add_months(sysdate,1) from dual;

Next_day()

(ie: SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY)

在Oracle是提供了next_day求指定日期的下一个日期.

select next_day(sysdate,'星期一') from dual;

Last_day

last_day是个函数,返回某个时间值的当月最后一天

select last_day(sysdate) from dual;

日期加法

select sysdate,add_months(sysdate,12) fromdual;         --加1年

select sysdate,add_months(sysdate,1) fromdual;         --加1月

select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS')from dual; --加1星期

select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS')from dual; --加1天

select sysdate,to_char(sysdate+1/24,'yyyy-mm-ddHH24:MI:SS') from dual;--加1小时

select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-ddHH24:MI:SS') from dual;--加1分钟select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-ddHH24:MI:SS') from dual; --加1秒

日期减法

select sysdate,add_months(sysdate,-12) fromdual;         --减1年

select sysdate,add_months(sysdate,-1) fromdual;         --减1月

select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS')from dual; --减1星期selectsysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1天

select sysdate,to_char(sysdate-1/24,'yyyy-mm-ddHH24:MI:SS') from dual; --减1小时

select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-ddHH24:MI:SS') from dual; --减1分钟select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-ddHH24:MI:SS') from dual; --减1秒

上一篇下一篇

猜你喜欢

热点阅读