Try
DECLARE @Sample TABLE
(
FromDate DATETIME,
ToDate DATETIME
)
INSERT INTO @Sample
SELECT '01-Jan-2012', '01-Jan-2013'
DECLARE @FromDate DATETIME
DECLARE @ToDate DATETIME
SELECT @FromDate = FromDate, @ToDate = ToDate FROM @Sample
;WITH CTE AS
(
SELECT 0 AS n, @FromDate AS FromDate
UNION ALL
SELECT n+1 AS n, DATEADD(month,1,FromDate)
FROM CTE
WHERE FromDate < @ToDate
)
SELECT REPLACE(SUBSTRING(CONVERT(VARCHAR(11), FromDate, 113), 4, 8),' ','-') AS [MonthWise Date] FROM CTE