Netezza SQL 仅显示去年的数据

Netezza SQL show only last year's data

这听起来很简单,也应该很简单,但出于某种原因,我似乎无法在 Netezza 中实现它...到目前为止我已经尝试过:

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 

但仍然没有运气。如有任何帮助,我们将不胜感激!

如果您想要当前日期的最后一年:

where placed_dt >= current_date - interval '1 year'

注意需要单引号。

如果还需要,您可以包含 <= current_date

如果你想要最后一个日历年,有多种方法,但一个是:

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

你可以试试:

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.