我正在进行一个同步自我加入,看看今年和去年的销售数字并排在同一张桌子上。
查询看起来像这样:
NullPointerException
这在理论上应该没问题,问题是2016-02-29记录正在加入2015-03-01记录,导致数字在02-2016关闭。
这是redshift / postgres的已知问题吗?
如果我能提供任何额外的清晰度,请告诉我。
答案 0 :(得分:1)
我不会说这是一个已知的问题"它们是如何决定处理闰年的。当您比较2/29的YoY时,您想和哪一天进行比较?如果将它与2/28进行比较,那么您是否还要比较今年的2/28和去年的2/28?您现在比较两天到同一天。那么你必须考虑到可能会重复计算去年累计时的销售额。
缺点是你需要提出非常具体的业务规则,说明如何处理报告然后实现这些规则的闰年,并且考虑到日期函数通常需要仔细测试它们当涉及闰年时,有点任意(对于任何数据库/语言)。