В MS SQL Sever GETDATE()
возвращает текущую дату и время, а CAST(GETDATE() AS DATE)
возвращает сегодняшнюю дату в формате yyyy-mm-dd без включения времени. EOMONTH()
возвращает дату типа, поэтому EOMONTH(GETDATE())
возвращает последний день текущего месяца в формате yyyy-mm-dd. Поэтому, если вы используете блок операторов:
IF CAST(GETDATE() AS DATE) = EOMONTH(GETDATE())
BEGIN
PRINT 'Today is the end of the month'
END
ELSE
BEGIN
PRINT 'Today is not the end of the month'
END
И если вы просто ищете базовый IF..ELSE без блока оператора:
IF CAST(GETDATE() AS DATE) = EOMONTH(GETDATE())
PRINT 'Today is the end of the month'
ELSE
PRINT 'Today is not the end of the month'