休眠 - 两个日期之间的差异

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)

【讨论】:

以上是关于休眠 - 两个日期之间的差异的主要内容,如果未能解决你的问题,请参考以下文章

没有闰日的两个日期之间的差异

Kotlin:获取两个日期之间的差异(现在和以前的日期)

如何找到两个日期之间的天数差异[重复]

如何使用javascript查找两个日期之间的天数差异

两个日期之间的oracle差异

%b %d %Y 格式的两个日期之间的差异