Given two `@START_DATE` and `@END_DATE` parameters, I'd like to write a query that generates pairs of *(month\_start\_date, month\_end\_date)* for every month that exists between those two days, including the ones those dates are in.

E.g. If `@START_DATE = '2018-01-14'` and `@END_DATE = '2018-05-04'` (yyyy-MM-dd), I'd like the output to be 

```
month_start_date, month_end_date
2018-01-01, 2018-01-31
2018-02-01, 2018-02-28
2018-03-01, 2018-03-31
2018-04-01, 2018-04-30
2018-05-01, 2018-05-31

```