【问题标题】:Days of last month inPL/SQLPL/SQL 中上个月的天数
【发布时间】:2010-06-28 13:34:03
【问题描述】:

如何在 PL/SQL 中获取上个月的所有天数?

谢谢。

【问题讨论】:

    标签: sql oracle select date-arithmetic


    【解决方案1】:
    SELECT  LAST_DAY(ADD_MONTHS(SYSDATE, -2)) + level
    FROM    dual
    CONNECT BY
            level <= LAST_DAY(ADD_MONTHS(SYSDATE, -1)) - LAST_DAY(ADD_MONTHS(SYSDATE, -2))
    

    【讨论】:

      【解决方案2】:

      像这样?

      begin
      for i in 1..to_char(trunc(sysdate,'mm')-1,'dd') loop
          dbms_output.put_line(i);
      end loop;
      end;
      /
      

      或者如果你想要日期:

      begin
      for i in 1..to_char(trunc(sysdate,'mm')-1,'dd') loop
          dbms_output.put_line(i+trunc(trunc(sysdate,'mm')-1,'mm')-1);
      end loop;
      end;
      /
      

      【讨论】:

        【解决方案3】:

        试试这个

        WITH d AS
        (
        SELECT TRUNC ( sysdate, 'MM' ) - 1 AS dt
        FROM dual
        )
        SELECT dt + LEVEL
        FROM d
        CONNECT BY LEVEL <= ADD_MONTHS (dt, 1) - dt
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-15
          • 2010-11-06
          • 1970-01-01
          • 2011-09-08
          • 1970-01-01
          • 2013-10-06
          相关资源
          最近更新 更多