微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SQL计算年份的确切日期差异

我收到报告,其中数据是ETL自动ETL.我提取并转换了一些数据,将其加载到其他地方.我需要做的一件事是DATEDIFF,但这一年需要准确(即4.6年,而不是四舍五入.

以下是我的脚本:

select *,DATEDIFF (yy,Begin_date,GETDATE()) AS 'Age in Years'
from Report_Stage;

‘Age_In_Years’列正在四舍五入.我如何获得多年的确切日期?

解决方法

您是否尝试过几个月来改变差异,然后以这种方式计算年数?例如30个月/ 12年将是2.5年.

编辑:此SQL查询包含几种计算日期差异的方法

SELECT CONVERT(date,GetDate() - 912) AS calcDate,DATEDIFF(DAY,GetDate() - 912,GetDate()) diffDays,GetDate()) / 365.0 diffDaysCalc,DATEDIFF(MONTH,GetDate()) diffMonths,GetDate()) / 12.0 diffMonthsCalc,DATEDIFF(YEAR,GetDate()) diffYears

原文地址:https://www.jb51.cc/mssql/79738.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐