HQLクエリ内で日付/時刻の計算を実行する方法を探しています。current_timestamp()具体的には、関数の結果から(x)時間を加算または減算するにはどうすればよいですか?または、このためにSQLにアクセスして、実行中のデータベースがそれをサポートすることを期待する必要がありますか?
HQLクエリの例:
FROM RandomThing
WHERE randomTime IS NOT NULL AND
randomTime >= current_timestamp() AND
randomTime <= (current_timestamp() + :timeToAdd)
:timeToSubtractパラメーターを特定の単位として定義できますが、時間よりも大きいものは望ましくなく、秒が最も望ましいでしょう。
明確化:これはクエリの外部で簡単に実行できることを理解しています。ただし、哲学的な理由から、クエリシステムの時刻ではなく、データベースサーバーの時刻を使用することが重要であるとしましょう。実用的な例:最後の(x)時間内に作成されたすべてのエントリの自動タイムスタンプをクエリしています。タイムスタンプはデータベースシステムによって作成されるため、データベースの現在の時刻も使用することが重要です。