我想根據兩個時間戳之間的某些比較提取記錄。這是我認爲的代碼,但它不工作:如何使用時間間隔來編寫查詢以比較兩個時間戳之間的差異
@Query("SELECT n FROM table1 n WHERE n.status IN ('FAILED') AND :currentDate- n.updatedDate > n.interval/24*60*60")
List<Entity> findAllSuchEntities(@Param("currentDate") DateTime currentDate);
的錯誤信息是:org.h2.jdbc.JdbcSQLException:未知數據類型:「?」; SQL語句。
相比之下,下面的查詢可以通過編譯:
@Query("SELECT n FROM table1 n WHERE n.status IN ('FAILED') AND :currentDate > n.updatedDate")
List<Entity> findAllSuchEntities(@Param("currentDate") DateTime currentDate);
圍繞「:currentDate - n.updatedDate」嘗試括號?如果與H2錯誤消息進行比較,請實際說明使用了什麼SQL – 2014-10-03 17:41:52
第一個查詢中的n.interval是什麼?你能顯示日期的格式嗎? – Rika 2014-10-03 17:49:00