Я смотрю, как выполнить математику даты / времени в запросе HQL. В частности, как добавить или вычесть (x) количество времени из результата функции current_timestamp()
? Или я должен зайти в SQL для этого и надеяться, что любая база данных, которую вы запускаете, поддерживает это?
Пример запроса HQL:
FROM RandomThing
WHERE randomTime IS NOT NULL AND
randomTime >= current_timestamp() AND
randomTime <= (current_timestamp() + :timeToAdd)
Я могу определить параметр: timeToSubtract как любую конкретную единицу, хотя что-либо большее, чем часы, будет нежелательным, а секунды - наиболее желательными.
РАЗЪЯСНЕНИЕ: я понимаю, что это легко сделать вне запроса. Но по философским причинам, скажем, важно использовать время сервера базы данных, а не время системы запросов. Практический пример: я запрашиваю автоматическую временную метку для всех записей, сделанных за последний (x) промежуток времени. Поскольку временная метка создается системой базы данных, важно также использовать текущее время базы данных.