Я хочу выбрать все записи в таблице, для которых дата ввода старше 2 месяцев.
Есть идеи, как я могу это сделать?
Я еще ничего не пробовал, но придерживаюсь этого мнения:
SELECT COUNT(1) FROM FB WHERE Dte > GETDATE()
Ответы:
Если вы используете SQL Server, попробуйте следующее:
SELECT * FROM MyTable
WHERE MyDate < DATEADD(month, -2, GETDATE())
На основе вашего обновления это будет:
SELECT * FROM FB WHERE Dte < DATEADD(month, -2, GETDATE())
SELECT COUNT(1) FROM FB
WHERE Dte > DATE_SUB(now(), INTERVAL 2 MONTH)
TSQL, Альтернатива с использованием объявления переменных. (это может улучшить читаемость запроса)
DECLARE @gapPeriod DATETIME = DATEADD(MONTH,-2,GETDATE()); --Period:Last 2 months.
SELECT
*
FROM
FB as A
WHERE
A.Dte <= @gapPeriod; --only older records.
MyDate < DATE_ADD(NOW(), INTERVAL -2 MONTH)