使用now()sql将小时和分钟添加到hql

时间:2017-08-03 12:02:02

标签: java mysql hibernate

我正在使用spring,hibernate和mysql。我想要我的时区的日期和时间。我来自斯里兰卡,所以我想在sql中添加 +5小时30分钟 android:windowSoftInputMode="stateVisible|adjustResize" 函数;

我写了一个查询并在sql workbench中运行它,它运行正常。

ListView
  

DATE_ADD()函数返回特定时间/日期之后的日期   间隔已添加。   但是当我添加到hql时,它会抛出错误。我在hql中的完整查询是

now()

当我在sql workbench中使用上面的代码时,它的工作正常。但它在hql中不起作用。

错误是

SELECT date_add(date_add(now(),INTERVAL +5 HOUR),INTERVAL 30 MINUTE);

是否有任何方法可以获取我的时区的当前日期和时间,或者使用FROM Survey where convert(endDateTime, datetime)< date_add(date_add(now(),INTERVAL +5 HOUR),INTERVAL 30 MINUTE); 添加 +5小时30分钟

提前致谢。

2 个答案:

答案 0 :(得分:1)

几乎@Jens所说的,我认为目前HQL不支持所有日期函数,要么在代码中计算日期(应该很简单),要么使用本机查询,因为你似乎没有使用任何日期函数查询参数。

额外的,转换存在的事实并不意味着date_add或date_sub存在。

在大多数情况下,日期将根据代码进行计算,即使只是为了便于重新使用相同的查询,以防您只想更改某些数据。

答案 1 :(得分:1)

以下是mysql timzone support doc的替代方案:

  

您可以使用mysqld_safe的--timezone = timezone_name选项在启动时为MySQL服务器设置系统时区。

  

如果您具有SUPER权限,则可以使用以下语句在运行时设置全局服务器时区值:

mysql> SET GLOBAL time_zone = '+5:30';