我需要上一个季度的最后一天,然后减去从那以后的多少年。
例如,我在2019-01-10
中运行报告,那么上一季度的最后一天将是2018-12-31
。然后,我要减去2
年。
我目前有这个:
year(CONVERT(date,DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, getdate()), 0))))-2
但是需要输出2018-12-31
而不是2016
答案 0 :(得分:2)
您可以在下面尝试
如果您要从上一季度的最后一天开始减去负2年,则-
select cast(dateadd(year,-2,DATEADD(s, -1, DATEADD(qq, DATEDIFF(qq, 0,'2019-01-10'),
0))) as date) As PreviousQuarterLastdayTime
输出:
PreviousQuarterLastdayTime
31/12/2016 00:00:00
如果只想要上一个季度的最后一天,则-
select cast(DATEADD(s, -1, DATEADD(qq, DATEDIFF(qq, 0,'2019-01-10'),
0)) as date) As PreviousQuarterLastdayTime
输出:
PreviousQuarterLastdayTime
31/12/2018 00:00:00