Dans SQL Server 2012, vous pouvez utiliser EOMONTH (Transact-SQL) pour obtenir le dernier jour du mois, puis vous pouvez utiliser DAY (Transact-SQL) pour obtenir le nombre de jours dans le mois.
DECLARE @ADate DATETIME
SET @ADate = GETDATE()
SELECT DAY(EOMONTH(@ADate)) AS DaysInMonth