首页 > 解决方案 > 如何获得两个日期的四舍五入差 SQL Server

问题描述

我想要一个表示日期(eCreationTime)和今天(现在)四舍五入的差异的int。

我已经尝试过使用此代码,但您会注意到 col datediff 没有显示 4 而是 5

在此处输入图像描述

SELECT h.efolderid, eCreationTime,GETDATE() as now, datediff(year,eCreationTime,GETDATE()) as datediff FROM tableOne h inner join tableTwo on h.eFolderID =e.eFolderID

标签: sqlsql-server

解决方案


更准确的解决方案是:

SELECT h.efolderid, eCreationTime, GETDATE() as now,
       FLOOR(datediff(day,eCreationTime,GETDATE()) / 365.2425) as datediff 
FROM   tableOne h 
       inner join tableTwo 
          on h.eFolderID =e.eFolderID

但是对于闰年,对于 2 月 29 日前后的某些特定日期,该解决方案将不会是真的……


推荐阅读