我收到报告,其中数据是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

dawei

【声明】:乐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。