PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thêm X giờ - @Query - Spring Data JPA

Tôi không tin rằng PostgreSQL cho phép chuyển INTERVAL câu lệnh yêu cầu một chuỗi được mã hóa cứng với interval '1 day' -style đầu vào; tuy nhiên, bạn có thể đạt được điều này bằng cách truyền một chuỗi thành một khoảng thời gian.

Hãy thử thay đổi truy vấn SQL trong mã của bạn thành:

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

Ngoài ra, tôi vừa tìm thấy câu trả lời StackOverflow trước này , điều này sẽ đáng thử nhưng có thể gặp vấn đề tương tự (giả sử nó liên quan đến trình phân tích cú pháp truy vấn của Spring Data JPA):

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java - ngày được lưu như một ngày trước đó

  2. Trình tạo id Hibernate thích hợp cho cột nối tiếp postgres / bigserial?

  3. Nhận mã hóa cơ sở dữ liệu Postgres

  4. Một truy vấn PostgreSQL thô bị treo khi được thực thi với TypeOrm

  5. Bảng in không vừa với kích thước trang