netezza sql只显示去年的数据

brccelvz  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(426)

这听起来很简单,也应该很简单,但由于某种原因,我似乎无法在内特扎做到这一点。。。到目前为止我试过:

select * 
from table 
where placed_dt >= DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) - 1, 0);

看起来像是 dateadd 函数在netezza上不起作用。所以我试着:

select * 
from table 
where placed_dt between (current_date - interval 1 year) and current_date

但还是没有运气。任何帮助都将不胜感激!

6yt4nkrj

6yt4nkrj1#

如果您希望从当前日期开始的最后一年:

where placed_dt >= current_date - interval '1 year'

请注意,需要单引号。
你可以包括 <= current_date 如果需要的话。
如果您想查看上一个日历年,有多种方法,但有一种是:

where date_trunc('year', placed_dt) = date_trunc('year', current_date) - interval '1 year'
bjp0bcyl

bjp0bcyl2#

您可以尝试:

SELECT *
FROM yourTable
WHERE
    placed_dt >= ADD_MONTHS(DATE_TRUNC('year', current_timestamp), -12) AND
    placed_at < DATE_TRUNC('year', current_timestamp);

在上面提到的 WHERE 对于2020年的当前年份,下限表示 2019-01-01 上界代表 2020-01-01 .

相关问题