Очевидно, что вычитание 30 дней не является правильным способом сделать это, так как вы можете получить один и тот же месяц (если вы были 31-го числа текущего месяца) или в конечном итоге вернуться на два месяца назад (если дата была1 марта, потому что в феврале только 28 дней.
Лучшее решение - использовать функцию DATEADD или ADDDATE , поскольку она может использовать определенные единицы измерения даты, например минуты,часы, дни, месяцы, годы и так далее.Просто используйте минус вместо плюса, чтобы вернуться назад.Большинство баз данных имеют функцию DATEADD, но их параметры могут различаться, поэтому проверьте документацию.
Другой вариант - использовать функцию DATEPART , чтобы получить часть месяца и проанализировать ее как целое число перед сравнением.это по мере необходимости.Опять же, не вычитайте один месяц, иначе у вас будут проблемы в следующем январе!