WITH TEMP1(COL1,COL2) AS
(
VALUES (DATE('2005-09-03'), DATE('2005-09-03') + 1 MONTHS)
UNION ALL
SELECT COL1 + 1 MONTHS, COL2 + 1 MONTHS
FROM TEMP1
WHERE COL1 + 1 MONTHS <= DATE('2006-02-01')
)
SELECT
YEAR(COL1) * 100 + MONTH(COL1) AS MONBEGIN,
YEAR(COL2) * 100 + MONTH(COL2) AS MONEND
FROM TEMP1
(
VALUES (DATE('2005-09-03'), DATE('2005-09-03') + 1 MONTHS)
UNION ALL
SELECT COL1 + 1 MONTHS, COL2 + 1 MONTHS
FROM TEMP1
WHERE COL1 + 1 MONTHS <= DATE('2006-02-01')
)
SELECT
YEAR(COL1) * 100 + MONTH(COL1) AS MONBEGIN,
YEAR(COL2) * 100 + MONTH(COL2) AS MONEND
FROM TEMP1