title: SQL: Create multiple rows for a record based on months between two dates
body: <p>My table has records as below for different Id's and different start and end dates<br>
  ID,  Startdate,  Enddate<br>
  1,   2017-02-14, 2018-11-05</p>
  
  <p>I want to write an SQL <strong>without</strong> using date dimension table that gives below output: Basically one record for each month between start and end date.</p>
  
  <pre><code>1, 2017, 02
  1, 2017, 03
  1, 2017, 04
  1, 2017, 05
  1, 2017, 06
  1, 2017, 07
  1, 2017, 08
  1, 2017, 09
  1, 2017, 10
  1, 2017, 11
  1, 2017, 12
  1, 2018, 01
  1, 2018, 02
  1, 2018, 03
  1, 2018, 04
  1, 2018, 05
  1, 2018, 06
  1, 2018, 07
  1, 2018, 09
  1, 2018, 10
  1, 2018, 11
  </code></pre>