oracle怎么查询当年当月有多少天

解决方案 »

  1.   

    select   to_char(sysdate,'mm')   month,to_char(sysdate,'yyyy')   year   from   dual
      

  2.   

    select to_char(add_months(to_Date(to_char(sysdate,'yyyy-mm')||'-01','yyyy-mm-dd'),1)-1,'dd') from dual;
      

  3.   

    SQL> select to_char(last_day(sysdate),'dd') LastDay from dual;LASTDAY
    -------
    30SQL> 
      

  4.   

    SQL> select to_char(last_day(add_months(add_months(trunc(sysdate,'yyyy'),-1),rownum)),'dd') LastDay 
      2  from dual connect by rownum <=12;LASTDAY
    -------
    31
    29
    31
    30
    31
    30
    31
    31
    30
    31
    30
    3112 rows selectedSQL> 
      

  5.   

    SELECT to_date(lpad('月份',2,'0')||ROWNUM,'mmdd')
    FROM Dual
    CONNECT BY ROWNUM <= to_char(last_day(to_date('月份','mm')),'dd')
      

  6.   

    SQL> select sysdate,to_char(sysdate,'day') from dual;
     
    SYSDATE     TO_CHAR(SYSDATE,'DAY')
    ----------- ----------------------
    2008-11-24  星期一
     
      

  7.   

    -- 写漂亮一点
    SQL>  select rownum||'月',to_char(last_day(add_months(add_months(trunc(sysdate, 'yyyy'), -1),rownum)),'dd') 天数
      2     from dual
      3  connect by rownum <= 12;ROWNUM||'月'                               天数
    ------------------------------------------ ----
    1月                                        31
    2月                                        29
    3月                                        31
    4月                                        30
    5月                                        31
    6月                                        30
    7月                                        31
    8月                                        31
    9月                                        30
    10月                                       31
    11月                                       30
    12月                                       3112 rows selectedSQL> 
      

  8.   


    select to_char(sysdate, 'yyyy-mm') || '-' || lpad(rownum, 2, 0)
      from dual
    connect by rownum <= to_char(last_day(sysdate), 'dd');