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
.
这听起来很简单,也应该很简单,但出于某种原因,我似乎无法在 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
.