5 ответов:
Если вы используете SQL Server попробуйте это:
SELECT * FROM MyTable WHERE MyDate < DATEADD(month, -2, GETDATE())на основе вашего обновления это будет:
SELECT * FROM FB WHERE Dte < DATEADD(month, -2, GETDATE())
будет ли что-то подобное работать для вас?
SELECT * FROM FB WHERE Dte >= DATE(NOW() - INTERVAL 2 MONTH);
SELECT COUNT(1) FROM FB WHERE Dte BETWEEN CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '-' + CAST(MONTH(DATEADD(month, -1, GETDATE())) AS VARCHAR(2)) + '-20 00:00:00' AND CAST(YEAR(GETDATE()) AS VARCHAR(4)) + '-' + CAST(MONTH(GETDATE()) AS VARCHAR(2)) + '-20 00:00:00'
TSQL, альтернатива с использованием объявления переменной. (это может улучшить читаемость запроса)
DECLARE @gapPeriod DATETIME = DATEADD(MONTH,-2,GETDATE()); --Period:Last 2 months. SELECT * FROM FB as A WHERE A.Dte <= @gapPeriod; --only older records.
Comments