Подтвердить что ты не робот

Как найти 2 года назад

Я хочу найти сегодня дату, но это должно быть 2 года назад. Например, сегодня дата - 6/12/2010, но я хочу 6/12/2008. Как это сделать на SQL-сервере?

4b9b3361

Ответ 1

SELECT DATEADD(year, -2, GETDATE())

или

SELECT DATEADD(yy, -2, GETDATE())

или

SELECT DATEADD(yyyy, -2, GETDATE())

Если вы хотите сохранить его как переменную:

DECLARE @twoYearsAgo DATETIME;

SELECT @twoYearsAgo = DATEADD(year, -2, GETDATE());

Ответ 2

DATEADD(yy,-2,GETDATE());

Ответ 3

Select DateAdd(year, -2, getdate())

Ответ 4

Похоже, вам нужна функция dateadd() http://msdn.microsoft.com/en-us/library/ms186819.aspx

select dateadd(yy,-2,getdate()) 

получает вас сейчас 2 года назад

однако, если вы хотите начать день 2 года назад, вы можете использовать

select dateadd(dd,datepart(dd,getdate())-1,dateadd(mm,datepart(mm,getdate())-1,dateadd(yy,datepart(yy,getdate())-1902,0)))

Я подозреваю, что есть более чистый способ написать это, но это было то, что впервые появилось на ум.