我正在使用spring,hibernate和mysql。我想要我的时区的日期和时间。我来自斯里兰卡,所以我想补充+5小时30分钟与now()
函数在sql;使用now()sql添加小时和分钟到hql
我写了一个查询,并在sql workbench中运行它,它的工作正常。
SELECT date_add(date_add(now(),INTERVAL +5 HOUR),INTERVAL 30 MINUTE);
的DATE_ADD()函数的特定时间/日期 间隔已被加入后返回日期。 但是当我添加到hql时,它会引发错误。我在HQL完整的查询是
FROM Survey where convert(endDateTime, datetime)< date_add(date_add(now(),INTERVAL +5 HOUR),INTERVAL 30 MINUTE);
当我在SQL工作台,其做工精细使用上面的代码。但它在hql中不起作用。
错误是
nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: expecting CLOSE, found 'HOUR' near line 1, column 114 [FROM com.pulseBeatMaster.model.Survey where convert(endDateTime, datetime)< date_add(date_add(now(),INTERVAL +5 HOUR),INTERVAL 30 MINUTE)]; nested exception is org.hibernate.hql.internal.ast.QuerySyntaxException: expecting CLOSE, found 'HOUR' near line 1, column 114 [FROM com.pulseBeatMaster.model.Survey where convert(endDateTime, datetime)< date_add(date_add(now(),INTERVAL +5 HOUR),INTERVAL 30 MINUTE)]] with root cause
有什么方法让我的时区的当前日期和时间或增加5小时30分钟与now()
。
在此先感谢。
不计算在HQL时间或SQL。在java中计算 – Jens
相当多@When –
sql中的campare正在工作@Jens。例如'FROM Survey where(endDateTime,datetime)
varman