In SQL Server 2012 können Sie EOMONTH (Transact-SQL) verwenden, um den letzten Tag des Monats abzurufen, und dann können Sie DAY (Transact-SQL) verwenden, um die Anzahl der Tage im Monat abzurufen.
DECLARE @ADate DATETIME
SET @ADate = GETDATE()
SELECT DAY(EOMONTH(@ADate)) AS DaysInMonth