How to list all dates between two dates [duplicate]

You can use a numbers table:

DECLARE @Date1 DATE, @Date2 DATE
SET @Date1 = '20150528'
SET @Date2 = '20150531'

SELECT DATEADD(DAY,number+1,@Date1) [Date]
FROM master..spt_values
WHERE type="P"
AND DATEADD(DAY,number+1,@Date1) < @Date2

Results:

╔════════════╗
║    Date    ║
╠════════════╣
║ 2015-05-29 ║
║ 2015-05-30 ║
╚════════════╝

Leave a Comment