2017-06-15 31 views
0

當我在查詢添加LIMIT TO_DATE(?,'YYYY-MM-DD') - TO_DATE(?,'YYYY-MM-DD') + 1之間的差異,我得到這個問題:錯誤AWS紅移同時計算兩個日期

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」和「date from」之間的差值加上1. 因此,如果我用LIMIT 8(例如)代替LIMIT,它就完美了。

此查詢應該在紅移和PostgreSQL的執行,因此,像DATEDIFF功能不可用,由於DATEDIFF沒有在PostgreSQL中實現的:/

在情況下,它可以幫助你,我看到了另一個人處理一些類似的問題:https://forums.aws.amazon.com/thread.jspa?threadID=239872

回答

3

「由於DATEDIFF沒有在PostgreSQL中實現的:/」

的Postgres(特別紅移)實現DATEDIFF函數。這只是不同的格式。

datediff(d,start_date,end_date) 

其中d : days

記住,不要使用運營商他們的目的不是爲數據類型。對日期使用算術運算符(+/- )有時會引起奇怪的結果,並且可能是災難性的。