DateDiff может использоваться для вычисления общего периода времени между двумя датами. Эти даты могут быть как из табличных значений, так и из «сегодняшних». Я бы посоветовал вам различать общее количество дней, а не месяцев, потому что «месяц» - это переменное количество времени, которое часто меняется.
select *
from tblProducts
where DATEDIFF(day, GETDATE(), DateExpiry) < 62
Предполагается, что DateExpiry
должно быть больше текущей даты, потому что мы ищем значения, которые еще не истекли, но должны скоро.
Вместо того, чтобы пытаться вычислить, что означает «сегодня плюс 62 дня», а затем пытаться увидеть, меньше ли значение базы данных, эта команда просто вычитает значение базы данных из текущей даты и проверяет, меньше ли оно числа.
Это выбирает все, что истекает менее чем через 62 дня с сегодняшнего дня.
Подробнее о DateDiff .