select etime-stime as 相差的天数 from aaa怎样才能计算stime和etime相差的月数呢?

解决方案 »

  1.   

    SELECT MONTHS_BETWEEN(TO_DATE('2013/05/08 11:57:13',
                                  'YYYY-MM-DD HH24:MI:SS'),
                          TO_DATE('2012/01/08 11:57:13', 'YYYY-MM-DD HH24:MI:SS'))
      FROM DUAL
      

  2.   

    支持1楼,就是用MONTHS_BETWEEN函数
      

  3.   

    oracle有很多自带的函数 功能很强大 多查询 多学习
      

  4.   

    与日期相关的几个非常常用的函数:
    ADD_MONTHS
    SQL> select add_months(to_date('2013-01-01','yyyy-mm-dd'),4) as newMonth from dual;NEWMONTH
    --------------
    01-5月 -13
    LAST_DAY SQL> select last_day(to_date('2013-01-01','yyyy-mm-dd')) as lastday from dual;LASTDAY
    --------------
    31-1月 -13MONTHS_BETWEEN(date2,date1)SQL> edit
    已写入 file afiedt.buf  1  select months_between(to_date('2013-01-01','yyyy-mm-dd'),
      2      to_date('2013-12-01','yyyy-mm-dd')) as monthsBetween
      3* from dual
    SQL> run
      1  select months_between(to_date('2013-01-01','yyyy-mm-dd'),
      2      to_date('2013-12-01','yyyy-mm-dd')) as monthsBetween
      3* from dualMONTHSBETWEEN
    -------------
              -11          
    NEXT_DAY(date,day)SQL> select next_day(to_date('2013-01-08','yyyy-mm-dd'),'星期四') from dual;NEXT_DAY(TO_DA
    --------------
    10-1月 -13