U kunt als volgt:
DECLARE @SelectedDate DATETIME = '2016.01.30'
SELECT
DATEADD(DAY, -1 - (DAY(EOMONTH(@SelectedDate)) - DAY(@SelectedDate)), DATEADD(MONTH, v.m, DATEFROMPARTS(YEAR(@SelectedDate), 1, 1)))
FROM
(VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11), (12)) AS v(m)
Hoeveel dagen zijn er nog voor het einde van de maand. Het aantal gevonden dagen wordt verwijderd uit andere maanden.
DAY(EOMONTH(@SelectedDate)
(31) - DAY(@SelectedDate)
(30) =left days
(1)
Resultaat:
2016-01-30
2016-02-28
2016-03-30
2016-04-29
2016-05-30
2016-06-29
2016-07-30
2016-08-30
2016-09-29
2016-10-30
2016-11-29
2016-12-30