Redshift中的dateadd没有补偿闰年

时间:2016-03-23 17:02:23

标签: sql amazon-redshift dateadd

我正在进行一个同步自我加入,看看今年和去年的销售数字并排在同一张桌子上。

查询看起来像这样:

NullPointerException

这在理论上应该没问题,问题是2016-02-29记录正在加入2015-03-01记录,导致数字在02-2016关闭。

这是redshift / postgres的已知问题吗?

如果我能提供任何额外的清晰度,请告诉我。

1 个答案:

答案 0 :(得分:1)

我不会说这是一个已知的问题"它们是如何决定处理闰年的。当您比较2/29的YoY时,您想和哪一天进行比较?如果将它与2/28进行比较,那么您是否还要比较今年的2/28和去年的2/28?您现在比较两天到同一天。那么你必须考虑到可能会重复计算去年累计时的销售额。

缺点是你需要提出非常具体的业务规则,说明如何处理报告然后实现这些规则的闰年,并且考虑到日期函数通常需要仔细测试它们当涉及闰年时,有点任意(对于任何数据库/语言)。