add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH RECURSIVE
source_table AS (
SELECT 'One' name, 100 int_value, '2013-11-16' start, '2014-11-16' `end`
),

cte AS ( SELECT name, int_value, start, `end`,
1 rownum, DATE_FORMAT(start, '%m-%Y') x
FROM source_table
UNION ALL
SELECT name, int_value, start, `end`,
1 + rownum, DATE_FORMAT(start + INTERVAL rownum MONTH, '%m-%Y')
FROM cte
WHERE start + INTERVAL rownum - 1 MONTH < `end` )
SELECT name, int_value, start, `end`, x
FROM cte
ORDER BY rownum;
name int_value start end x
One 100 2013-11-16 2014-11-16 11-2013
One 100 2013-11-16 2014-11-16 12-2013
One 100 2013-11-16 2014-11-16 01-2014
One 100 2013-11-16 2014-11-16 02-2014
One 100 2013-11-16 2014-11-16 03-2014
One 100 2013-11-16 2014-11-16 04-2014
One 100 2013-11-16 2014-11-16 05-2014
One 100 2013-11-16 2014-11-16 06-2014
One 100 2013-11-16 2014-11-16 07-2014
One 100 2013-11-16 2014-11-16 08-2014
One 100 2013-11-16 2014-11-16 09-2014
One 100 2013-11-16 2014-11-16 10-2014
One 100 2013-11-16 2014-11-16 11-2014