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

Netezza - 从 SQL 语句中获取已删除记录的计数

sql 今年和去年的SQL YTD。此查询可确保去年的值仅上升到当天的整个年份

Netezza SQL 脚本格式

SQL Server 到 Netezza 数据类型等效

我是 DMBS 系统的新手,是不是可以加入两个数据库系统,如 SQL 和 Netezza?