Тъй като това е sql сървър 2008, не можете да използвате EOMonth (който беше въведен във версия 2012).
Трябва да направите някои добавяния и разлики на дати:
SELECT DATEDIFF(DAY,
GETDATE(),
DATEADD(MONTH,
1,
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
)
) - 1
обяснения:DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
получава първия ден от текущия месец, обвивката DATEADD
добавя един месец и обвивката DATEDIFF
връща броя на дните между текущата дата и първата дата на следващия месец. Ето защо трябва да извадите 1, за да получите правилния брой дни.