In this blog we will learn how to retrieve number of days per month and per year b/w two dates.
Code:

  1. DECLARE @start DATETIME, @end DATETIME;
  2. SELECT @start = '28-Oct-2015', @end = '05-May-2016';
  3. select year(dt) [Year], Month(dt) [Month], count(*) [Numer_Of_Days]
  4. from (select top(datediff(d, DATEADD(Day,-1, @start), @end)) dateadd(d, row_number() over (order by (select null)), DATEADD(Day,-1, @start)) dt
  5. from sys.columns) q
  6. group by year(dt), Month(dt)
  7. order by [Year]
Result: