sql >> Databasteknik >  >> RDS >> PostgreSQL

Lägger till X timmar - @Query - Spring Data JPA

Jag tror inte att PostgreSQL tillåter att INTERVAL skickas satser kräver en hårdkodad sträng med ett interval '1 day' -stil input; men du kan uppnå detta genom att kasta en sträng till ett intervall.

Försök att ändra SQL-frågan i din kod till:

select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <=  CURRENT_TIMESTAMP and a.type = :type and a.account = account

Alternativt har jag precis hittat detta tidigare StackOverflow-svar , det här skulle vara värt ett försök men kan ha samma problem (förutsatt att det är relaterat till Spring Data JPA:s frågeparser):

select a from ActivationCode a where a.creationTime + :hoursAgo * INTERVAL '1 hour' <=  CURRENT_TIMESTAMP and a.type = :type and a.account = account


  1. SQLSTATE[42S01]:Bastabell eller vy finns redan:1050 Tabell "betalningar" finns redan (SQL:skapa tabell "betalningar"

  2. Fråga Hjälp - Sträng in där sats har &tecken

  3. dynamiska kolumner i oracle med sql

  4. pgmemcache vs Infinite Cache