Netezza SQL 仅显示去年的数据
Posted
技术标签:
【中文标题】Netezza SQL 仅显示去年的数据【英文标题】:Netezza SQL show only last year's data 【发布时间】:2020-06-25 12:48:06 【问题描述】:听起来很简单,应该也很简单,但由于某种原因,我似乎无法在 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
但仍然没有运气。任何帮助将不胜感激!
【问题讨论】:
而不是间隔 1 年,尝试当前日期 - 365 天? ***.com/questions/30246728/… 【参考方案1】:如果你想要从当前日期算起的最后一年:
where placed_dt >= current_date - interval '1 year'
注意单引号是必须的。
如果还需要,您可以包含 <= current_date
。
如果你想要最后一个日历年,有多种方法,但一种是:
where date_trunc('year', placed_dt) = date_trunc('year', current_date) - interval '1 year'
【讨论】:
【参考方案2】:你可以试试:
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 SQL 仅显示去年的数据的主要内容,如果未能解决你的问题,请参考以下文章
将一个表的数据加载到驻留在不同数据库中的另一个表中 - Netezza