休眠 - 两个日期之间的差异
Posted
技术标签:
【中文标题】休眠 - 两个日期之间的差异【英文标题】:Hibernate - difference between two dates 【发布时间】:2014-01-22 15:12:26 【问题描述】:如何计算两个日期之间的差异,以便查询兼容:mysql、H2 和 SqlServer?
【问题讨论】:
【参考方案1】: SQL Server - 您可以使用DATEDIFF
函数返回指定DATEPART
中的差异
SELECT DATEDIFF(dd,'1/20/2014,'1/22/2014')
http://technet.microsoft.com/en-us/library/ms189794.aspx
MySQL -
DATEDIFF()
只是有点不同,
SELECT DATEDIFF('2008-11-30','2008-11-29') AS DiffDate
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff
H2 -
DATEDIFF
DATEDIFF('YEAR', T1.CREATED, T2.CREATED)
http://www.h2database.com/html/functions.html#datediff
【讨论】:
是的,我已经尝试过了,但是 MySql 需要 2 个参数,而 SqlServer(和 H2)需要 3 个。但是我需要对两者进行相同的查询。这可能吗? MySQL 仅使用 2 个参数,就像您提到的那样。您不能在所有 3 个平台上运行相同的查询,您需要修改代码以将不同的查询传递给每个平台。 是的。我认为这是唯一的解决方案。 :) 谢谢 MySQL 也支持TIMESTAMPADD 3 个参数。 H2 也支持这种语法。【参考方案2】:在 SQL Server 中 -
datediff (day,startdate,enddate)
【讨论】:
以上是关于休眠 - 两个日期之间的差异的主要内容,如果未能解决你的问题,请参考以下文章