gpt4 book ai didi

sql - 使用 SQL 计算精确的日期差(以年为单位)

转载 作者:行者123 更新时间:2023-12-02 11:45:52 30 4
gpt4 key购买 nike

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

以下是我的脚本:

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

'Age_In_Years' 列正在四舍五入。如何获得准确的日期(以年为单位)?

最佳答案

所有datediff() 所做的就是计算两个日期之间跨越的周期边界的数量。例如

datediff(yy,'31 Dec 2013','1 Jan 2014')

返回 1。

如果计算两个日期之间的差异(以天为单位),然后除以 400 年跨度内日历年的平均长度(以天为单位)(365.2425),您将得到更准确的结果:

datediff(day,{start-date},{end-date},) / 365.2425

例如,

select datediff(day,'1 Jan 2000' ,'18 April 2014') / 365.2425

返回14.29461248 - 只需将其四舍五入到所需的精度即可。

关于sql - 使用 SQL 计算精确的日期差(以年为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23145404/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com