W SQL Server 2012 możesz użyć EOMONTH (Transact-SQL), aby uzyskać ostatni dzień miesiąca, a następnie możesz użyć DAY (Transact-SQL), aby uzyskać liczbę dni w miesiącu.
DECLARE @ADate DATETIME
SET @ADate = GETDATE()
SELECT DAY(EOMONTH(@ADate)) AS DaysInMonth