如何从今天的日期使用 3 年前找到一年的第一天

问题描述

我正在寻找如何使用今天的日期查找 3 年前的一年中的第一天(1 月 1 日)。我知道我可以在这和负 3 年内使用 Getdate(),但在其他方面需要帮助。

WHERE datefield >= … 

谢谢

解决方法

您可以使用 YEAR 函数获取年份。使用 DATEFROMPARTS(year,month,day) 构造日期。

WHERE datefield >= datefromparts(year(getdate()) - 3,1,1);
,

这是一种选择:

SELECT DATEADD(yy,DATEDIFF(yy,DATEADD(yy,-3,GETDATE())),0);

Demo