当我在查询中添加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应该是" date to"之间的差异。和"约会"加1。
因此,如果我仅仅为LIMIT 8
替换LIMIT(例如),它就能完美运行。
此查询应该在Redshift和PostgreSQL中执行,因此像DATEDIFF这样的函数不会有用,因为在PostgreSQL中没有实现DATEDIFF:/
如果它可以帮助你,我看到另外一些人处理类似的问题:https://forums.aws.amazon.com/thread.jspa?threadID=239872
答案 0 :(得分:3)
"由于DATEDIFF未在PostgreSQL中实现:/"
Postgres(特别是Redshift)实现了约会功能。它只是不同的格式。
datediff(d,start_date,end_date)
其中d : days
请记住,不要将运算符用于它们不应该的数据类型。在日期上使用算术运算符(+ / - )有时会产生奇怪的结果并且可能是灾难性的。