gpt4 book ai didi

Oracle SQL - 最近 12 个完整月的数据

转载 作者:行者123 更新时间:2023-12-02 17:24:30 27 4
gpt4 key购买 nike

我需要一个查询来动态提取过去 12 个完整月的运输数据(不包括当月)。因此,今天是 2016 年 9 月 30 日,我需要从 2015 年 9 月 1 日到 2016 年 8 月 31 日的数据。明天,查询将更改为 10-1-15 到 9-30-16 的日期范围。

这是我目前拥有的:

WHERE (shipdate BETWEEN TRUNC(sysdate, 'Year') AND sysdate)

此查询提取从日历年开始到今天的日期而不是前 12 个完整月份的数据。我已经用 MySQL 和 MS SQL Server 找到了这个问题的答案,但没有找到 Oracle 的答案。这在 Oracle 中如何实现?

最佳答案

between add_months(trunc(sysdate, 'month'), -12) and trunc(sysdate, 'month')

如果货件的时间戳实际上可能恰好在午夜,并且时间戳为 9 月 1 日 00:00:00 的货件不应包括在内,则“介于”应更改为

shipdate >= add_months(trunc(sysdate, 'month'), - 12) 
and shipdate < trunc(sysdate, 'month')

关于Oracle SQL - 最近 12 个完整月的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39794468/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com