sysdate 当前系统时间
select sysdate from dual --获取当前时间
select sysdate-2 from dual --获取两天前的时间
select sysdate + 1/24 from dual --加一个小时
select sysdate + 1/24*2 + 1 from dual --加一天两个小时
lsat_day (date) 该函数返回参数指定日期对应月份的最后一天。
select last_day (sysdate) from dual – 本月的最后一天
add_months(date,integer)该函数将返回在指定的日期上加一个月份数后的日期
> date:指定的日期。 integer:要加的月份数,该值如果为负数,则表示减去的月份数。
> 该函数有些地方需要注意,当指定的日期是月的最后一天时,最后函数返回的结果也将是新月的最后一天。
>
> 而如果新的月份比指定日期月份的天数少,则函数将自动回调有效日期。
>
> 示例脚本如下:
select to_char(add_months(to_date(‘2009-9-15’, ‘YYYY-MM-DD’),1),
‘YYYY-MM-DD’),
to_char(add_months(to_date(‘2009-9-30’, ‘YYYY-MM-DD’), 1),
‘YYYY-MM-DD’),
to_char(add_months(to_date(‘2010-1-30’, ‘YYYY-MM-DD’), 1),
‘YYYY-MM-DD’) from dual;
months_between(date1.date2)函数
当 date1>date2 时,如果两个参数表示日期是某月中的同一天,或它们都是某月中的最后一天,则该函数返回一整型数;否则,将返回小数。
当 date1<date2 时,则返回一负值。
select months_between(to_date(‘2010-7-1’, ‘YYYY-MM-DD’),
to_date(‘2010-6-1’, ‘YYYY-MM-DD’)) one,
months_between(to_date(‘2010-5-31’, ‘YYYY-MM-DD’),
to_date(‘2010-4-30’, ‘YYYY-MM-DD’)) two,
months_between(to_date(‘2010-5-31’, ‘YYYY-MM-DD’),
to_date(‘2010-9-30’, ‘YYYY-MM-DD’)) three from dual;