如何计算 SQL 服务器中的年和月日期差异?
How to calculate the date difference in years and months in SQL Server?
我正在尝试计算 SQL 服务器中的频率估计值,我正在使用以下查询来获取结果,
FORMAT(DATEADD(month,-66, DATEADD(dd, 0,DATEADD(qq, DATEDIFF(qq, 0, getdate()), 0))), 'd','us') --For -5.5 years Frequency
FORMAT(DATEADD(month,-6, DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, DATA_ASOF_TSTMP), 0))), 'd','us') --For -6 Months Frequency
我得到了以下结果
5.5_Years_Frequency 6_Months_Frequency
4/1/2015 3/30/2020
对于 -6 个月的频率,我得到的结束日期是 2020 年 3 月 30 日,但是 3 月有 31 天,所以,我希望结果是 2020 年 3 月 31 日,而不是 2020 年 3 月 30 日,如下所示.
预期结果,
5.5_Years_Frequency 6_Months_Frequency
4/1/2015 3/31/2020
谁能帮我得到预期的结果?
更改计算顺序:
- 确定季度
- 减去 6 个月
- 减去 1 天
6 个月频率:
select FORMAT(DATEADD(dd, -1, DATEADD(month,-6, DATEADD(qq, DATEDIFF(qq, 0, getdate()), 0))), 'd','us');
我正在尝试计算 SQL 服务器中的频率估计值,我正在使用以下查询来获取结果,
FORMAT(DATEADD(month,-66, DATEADD(dd, 0,DATEADD(qq, DATEDIFF(qq, 0, getdate()), 0))), 'd','us') --For -5.5 years Frequency
FORMAT(DATEADD(month,-6, DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, DATA_ASOF_TSTMP), 0))), 'd','us') --For -6 Months Frequency
我得到了以下结果
5.5_Years_Frequency 6_Months_Frequency
4/1/2015 3/30/2020
对于 -6 个月的频率,我得到的结束日期是 2020 年 3 月 30 日,但是 3 月有 31 天,所以,我希望结果是 2020 年 3 月 31 日,而不是 2020 年 3 月 30 日,如下所示.
预期结果,
5.5_Years_Frequency 6_Months_Frequency
4/1/2015 3/31/2020
谁能帮我得到预期的结果?
更改计算顺序:
- 确定季度
- 减去 6 个月
- 减去 1 天
6 个月频率:
select FORMAT(DATEADD(dd, -1, DATEADD(month,-6, DATEADD(qq, DATEDIFF(qq, 0, getdate()), 0))), 'd','us');