计算两个日期之间的差异时出现 AWS Redshift 错误
Posted
技术标签:
【中文标题】计算两个日期之间的差异时出现 AWS Redshift 错误【英文标题】:Error in AWS Redshift while calculating a difference between two dates 【发布时间】:2017-06-15 19:31:05 【问题描述】:当我在查询中添加 LIMIT TO_DATE(?,'YYYY-MM-DD') - TO_DATE(?,'YYYY-MM-DD') + 1
时,我遇到了这个问题:
ERROR: Not implemented
DETAIL:
error: Not implemented
code: 1001
context: 'IsA(cons,Const)' -
query: 1621055
location: xen_execute.cpp:1077
process: padbmaster pid=10863
所以,如您所见,没有很好的错误信息可以帮助我解决问题。
LIMIT 应该是“日期至”和“日期自”之间的差值加 1。
因此,如果我将 LIMIT 替换为 LIMIT 8
(例如),它会完美运行。
这个查询应该在 Redshift 和 PostgreSQL 中执行,所以,像 DATEDIFF 这样的函数不会有用,因为 DATEDIFF 没有在 PostgreSQL 中实现:/
如果它可以帮助你,我看到其他人处理一些类似的问题:https://forums.aws.amazon.com/thread.jspa?threadID=239872
【问题讨论】:
【参考方案1】:“由于 DATEDIFF 在 PostgreSQL 中没有实现:/”
Postgres(特别是 Redshift)实现 datediff 函数。只是格式不同而已。
datediff(d,start_date,end_date)
在哪里d : days
请记住,不要将运算符用于它们不应该使用的数据类型。在日期上使用算术运算符 ( + / - ) 有时会产生奇怪的结果,并且可能是灾难性的。
【讨论】:
以上是关于计算两个日期之间的差异时出现 AWS Redshift 错误的主要内容,如果未能解决你的问题,请参考以下文章