【发布时间】:2010-06-28 13:34:03
【问题描述】:
如何在 PL/SQL 中获取上个月的所有天数?
谢谢。
【问题讨论】:
标签: sql oracle select date-arithmetic
如何在 PL/SQL 中获取上个月的所有天数?
谢谢。
【问题讨论】:
标签: sql oracle select date-arithmetic
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))
【讨论】:
像这样?
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;
/
【讨论】:
试试这个
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
【讨论】: