2017-02-17 5 views
1

Я следующее выражение в моей статье where:Как я могу принести последние два полных года и текущий год запись в SQL Server

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

Но он возвращает данные до «2015-02-17», т.е. текущего года минус два.

Я хочу данные двух полных лет и текущего года

например 2015-01-01 до даты. Любые данные по этому поводу будут оценены.

ответ

1

Попробуйте это: Здесь DATEADD(yy, DATEDIFF(yy,0,getdate()) даст месяц начала года

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

Ваше состояние должно быть, как показано ниже. DATEADD(YEAR,DATEDIFF(YEAR, 0, GETDATE())-2,0) это вернет первый день 2015 год.

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

С помощью YEAR функции скалярной

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

Просто сравните год.

Попробуйте

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

Вы должны попробовать это в том, где состояние. Год (DA.Access_Date)> = Год (getdate()) - 2

Смежные вопросы