我正在使用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分钟 。
提前致谢。
答案 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';