SQL-запрос для текущей даты минус год, месяц, день или минута

Чтобы прибавить или вычесть дату/время, в MS SQL есть функция:

DATEADD(datepart, number, date)

Например, прибавим пять месяцев к текущей дате:

SELECT * FROM YourTable
WHERE YourDate < DATEADD(month, 5, GETDATE())

GETDATE() возвращает текущие дату и время.

Чтобы вычесть, поставьте минус перед вторым параметром:

SELECT * FROM YourTable
WHERE YourDate < DATEADD(month, -5, GETDATE())

Аргументы параметра datepart:

  • year (год)
  • quarter (квартал)
  • month (месяц)
  • dayofyear (день года)
  • day (день)
  • week (неделя)
  • weekday (день недели)
  • hour (час)
  • minute (минута)
  • second (секунда)
  • millisecond (миллисекунда)
  • microsecond (микросекунда)
  • nanosecond (наносекунда)

Документация по DATEADD на сайте Microsoft

Консультирую по продукту, собираю MVP и учу делать продукты самостоятельно. Поработать со мной →