Use a Numbers table
to generate dates.
DECLARE @StartDate DATETIME = convert(date,'01/01/2015',103) -- First Calendar date to include in table
DECLARE @EndDate DATETIME = convert(date,'10/01/2015',103) --Last calendar date to include in the table
;WITH E00(N) AS (SELECT 1 UNION ALL SELECT 1),
E02(N) AS (SELECT 1 FROM E00 a, E00 b),
E04(N) AS (SELECT 1 FROM E02 a, E02 b),
E08(N) AS (SELECT 1 FROM E04 a, E04 b),
E16(N) AS (SELECT 1 FROM E08 a, E08 b),
E32(N) AS (SELECT 1 FROM E16 a, E16 b),
cteTally(N)
AS (SELECT Row_number()OVER ( ORDER BY N)
FROM E32),
CalendarBase
AS (SELECT CalendarDate = Dateadd(day, n - 1, @StartDate)
FROM cteTally
WHERE N <= Datediff(day, @StartDate, @EndDate + 1))
SELECT convert(varchar(30),CalendarDate ,103) as CalendarDate
FROM CalendarBase
Referred from this link