问题描述
我正在寻找如何使用今天的日期查找 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);