sql - 如何获得两个日期的四舍五入差 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
解决方案
更准确的解决方案是:
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 日前后的某些特定日期,该解决方案将不会是真的……
推荐阅读
- visual-studio-2017 - 在安装程序项目中基于用户删除以前的版本
- amazon-kinesis - 行未添加到 AWS Kinesis 分析 Kinesis 数据流的应用程序内 SQL 流
- angular - 如何让谷歌浏览器在 Angular 4 应用程序中全屏显示?
- xquery - 如何一次性替换多个 XML 节点?数据中心框架
- objective-c - 集成 Tappx SDK 时的错误消息
- javascript - 触发 ASP.Net 按钮或使用外部 JavaScript ".js" 文件调用 ASP.NET 函数
- python - 我的代码末尾明显的“换行符”
- kdb - 如何更改 KDb+ 中的数据类型?
- android - 如何在 Android 的多窗口模式下显示不同的布局?
- ios - 如何从文档目录加载 ARReferenceImage?