如何在 MS SQL 中获取年初的值

How to fetch values from starting of the year in MS SQL

我可以使用以下代码(从 01/24/2018 - 01/25/2021)获得准确的 3 年价值

select * from datamining.dbo.EmployeeDetails
where DateOfjoining >= DATEADD(year,-3,GETDATE())

但我预计 结果应该是从 01/01/2018 - 01/25/2021(截止日期)

如何实现?

很多方法。一种是将 YEAR 和 DATEFROMPARTS 结合起来,YEAR 从日期中提取数字年份值,DATEFROMPARTS 从年、月和日组件中构造日期。例如:

select * from datamining.dbo.EmployeeDetails
where DateOfjoining >= DATEFROMPARTS(YEAR(DATEADD(year,-3,GETDATE())),1,1)