我如何在SQL Server中获取最近两年的全年和当年记录

时间:2017-02-17 04:55:57

标签: sql sql-server sql-server-2008-r2 msbi

我的where子句中有以下表达式:

DA.Access_Date >= DATEADD(YEAR, -2, GETDATE())

但它会将数据返回到2015-02-17'即当年减2。

我想要两年全年和当年的数据

e.g。 2015-01-01至今。对此的任何意见都将不胜感激。

5 个答案:

答案 0 :(得分:1)

试试这个:DATEADD(yy, DATEDIFF(yy,0,getdate())这里将给出一年中的开始月份

DA.Access_Date >= DATEADD(YEAR, -2, DATEADD(YY, DATEDIFF(YY,0,GETDATE()), 0))

答案 1 :(得分:0)

您的情况应如下所示。 DATEADD(YEAR,DATEDIFF(YEAR, 0, GETDATE())-2,0)这将返回2015年的第一天。

DA.Access_Date >=  DATEADD(YEAR,DATEDIFF(YEAR, 0, GETDATE())-2,0)

答案 2 :(得分:0)

借助标量函数

WHERE
YEAR(DA.Access_Date) in (YEAR(GETDATE()),YEAR(GETDATE())-1,YEAR(GETDATE())-2)

答案 3 :(得分:0)

比较一年。

尝试

YEAR(DA.Access_Date) >= (YEAR(GETDATE()) - 2)

答案 4 :(得分:0)

你应该在哪里条件下尝试这个。 年(DA.Access_Date)> =年(getdate()) - 2