簡體   English   中英

JPQL查詢日期與間隔

[英]JPQL Query Date with interval

我正在使用JPA和JPQL。 我是這個世界的新手;-)我的查詢現在給我兩個日期之間的數據。

Query query =em.createQuery("SELECT d FROM DTable d JOIN d.history p WHERE (d.vehicle.id = :vehicleId) AND (p.timestamp BETWEEN :curentDate AND :date)");

我如何告訴JPQL過濾他在2個日期之間給我數據但是時間間隔為4分鍾的數據?

我希望很清楚。 謝謝你的建議。

您的要求:兩個提供日期之間的差異應至少為四分鍾。 根據JPA 1.0規范,日期之間的比較表達必須遵循這種模式

datetime_expression comparison_operator datetime_expression

compare_operator可以是=,>,> =,<,<=,<>。 你能做的是

如下所示,提供您提供的日期之間的差異

Timestamp dateA ...
Timestamp dateB ...

Timestamp difference = new Timestamp(Math.abs(dateA.getTime() - dateB.getTime()));

並創建一個代表4分鍾的時間戳

Timestamp fourMinutes = new Timestamp(0, 0, 0, 0, 4, 0, 0);

現在你的查詢應該是這樣的

where :difference >= :fourMinutes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM