oracle时间大于今天函数,oracle 常用日期函数总结

1. sysdate 查看系统的当前时间

select sysdate from dual

SQL> select sysdate from dual;

SYSDATE

---------

14-AUG-13

回显结果受NLS_DATE_FORMAT参数的限制,这里修改下,后面的实验都以YYYY-MM-DD的结果显示

SQL> alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

Session altered.

SQL> select sysdate from dual;

SYSDATE

-------------------

2013-08-14 15:27:27

2. ADD_MONTHS(d,n) 当前d日期往后推n个月,下面例子当月是8月加2个月,因此为10月

SQL> select add_months(sysdate,2) from dual;

ADD_MONTHS(SYSDATE,

-------------------

2013-10-14 15:31:20

3. LAST_DATE(D) 当月的最后一天

SQL> select last_day(sysdate) from dual;

LAST_DAY(SYSDATE)

-------------------

2013-08-31 15:34:11

4,Months_between(d1,d2) 返回d1和d2之间月的数目,精确到小数位

注意当前日期是8月14号,下面例子表明距10月14还差2个月,以负数形式返回

SQL> select months_between(sysdate,'2013-10-14') from dual;

MONTHS_BETWEEN(SYSDATE,'2013-10-14')

------------------------------------

-2

可以看出该函数以天为单位计算,并且精确到小数位后7位

SQL> select months_between(sysdate,'2013-10-10') from dual;

MONTHS_BETWEEN(SYSDATE,'2013-10-10')

------------------------------------

-1.8498831

2013-10-10 比当前日期超过了

SQL> select months_between('2013-10-10',sysdate) from dual;

MONTHS_BETWEEN('2013-10-10',SYSDATE)

------------------------------------

1.84975545

如果d1,d2相同返回为0

SQL> select months_between(sysdate,sysdate) from dual;

MONTHS_BETWEEN(SYSDATE,SYSDATE)

-------------------------------

0

5. NEXT_DAY(d, day_of_week)

返回由"day_of_week"命名的,在d日期下一个星期的第day_of_week工作日的日期。参数"day_of_week"必须为该星期中的某一天(1-7)。

例如今天是星期三,求下一个工作日的第二天是几号?

SQL> select next_day(sysdate,2)

你可能感兴趣的:(oracle时间大于今天函数)