Da dies SQL Server 2008 ist, können Sie EOMonth (das in der Version 2012 eingeführt wurde) nicht verwenden.
Sie müssen einige Datumszusätze und Datumsunterschiede vornehmen:
SELECT DATEDIFF(DAY,
GETDATE(),
DATEADD(MONTH,
1,
DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
)
) - 1
Erklärungen:DATEADD(DAY, 1 - DAY(GETDATE()), GETDATE())
erhält den ersten Tag des aktuellen Monats, die Umhüllung DATEADD
fügt einen Monat hinzu und die Verpackung DATEDIFF
gibt die Anzahl der Tage zwischen dem aktuellen Datum und dem ersten Datum des nächsten Monats zurück. Deshalb müssen Sie 1 subtrahieren, um die korrekte Anzahl an Tagen zu erhalten.