PL/SQL 中上个月的天数

发布于 2024-09-07 20:10:16 字数 42 浏览 4 评论 0原文

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

谢谢。

How can I get all the Days of the previous month in PL/SQL ?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

悲喜皆因你 2024-09-14 20:10:16
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))
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))
笔落惊风雨 2024-09-14 20:10:16

像这样 ?

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;
/

Like this ?

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

Or if you want date :

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;
/
情域 2024-09-14 20:10:16

试试这个

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

Try this one

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文