select to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月' from dual;

解决方案 »

  1.   

    alter session set nls_date_format='YYYY-MM-DD';--当前时间,年月日分秒
    select sysdate from dual;--当前日期,年月日
    select trunc(sysdate) from dual;其他函数要9i才有,妈的,我的 才8i,9i提供了很多函数,你可以查一下
      

  2.   

    select sysdate from dual
      

  3.   

    select last_day(trunc(sysdate)) from dual;
    select last_day(sysdate) from dual;--当月最后一天,也可以计算当月的总天数select last_day(sysdate-365) from dual;--一年前的三月总天数,你可以根据减法计算,基本数值为天数
      

  4.   

    Oracle主要有以下日期时间函数,你可以用GOOGLE挨个查一下用法
    TO_CHAR 
    NUMTOYMINTERVAL
    ADD_MONTHS 
    ROUND
    CURRENT_DATE 
    SESSIONTIMEZONE
    CURRENT_TIMESTAMP 
    SYS_EXTRACT_UTC
    DBTIMEZONE 
    SYSDATE
    EXTRACT 
    SYSTIMESTAMP
    FROM_TZ 
    TO_DSINTERVAL
    LAST_DAY 
    TO_TIMESTAMP
    LOCALTIMESTAMP 
    TO_TIMESTAMP_TZ
    MONTHS_BETWEEN 
    TO_YMINTERVAL
    NEW_TIME 
    TRUNC
    NEXT_DAY 
    TZ_OFFSET
    NUMTODSINTERVAL
      

  5.   

    select trunc(sysdate) from dual;当月第一天
      

  6.   

    /* 当前年的天数 */
    select Count(*) from dba_tables where rownum<367 and To_Date(Concat(To_Char(SYSDATE,'YYYY'),'0101'),'YYYYMMDD')+(rownum-1)<to_date(Concat(To_Char(To_Number( To_Char(SYSDATE,'YYYY') )+1),'0101'),'YYYYMMDD');/* 当前月的天数 */
    select Count(*) from (select To_Date(Concat(To_Char(SYSDATE,'YYYY'),'0101'),'YYYYMMDD')+(rownum-1) dateList from dba_tables where rownum<367 and To_Date(Concat(To_Char(SYSDATE,'YYYY'),'0101'),'YYYYMMDD')+(rownum-1)<to_date(Concat(To_Char(To_Number( To_Char(SYSDATE,'YYYY') )+1),'0101'),'YYYYMMDD')) where to_char(dateList,'YYYYMM')=To_Char(SYSDATE,'YYYYMM');/* 2003年的天数 */
    select Count(*) from dba_tables where rownum<367 and to_date('20030101','YYYYMMDD')+(rownum-1)<to_date('20040101','YYYYMMDD');/* 2003年2月的天数 */
    select Count(*) from (select to_date('20030101','YYYYMMDD')+(rownum-1) dateList from dba_tables where rownum<367 and to_date('20030101','YYYYMMDD')+(rownum-1)<to_date('20040101','YYYYMMDD')) where to_char(dateList,'YYYYMM')='200302';
      

  7.   

    select extract(year from sysdate) from dual;     当前年
    select extract(month from sysdate) from dual;     本年到当月的月数
    select extract(day from sysdate) from dual;      本月到当日的天数hour,minute,second好像8i不支持啊!