select convert(varchar(10),dateadd(dd,number,convert(varchar(8),getdate(),120)+'01'),120) as dt
from master..spt_values where type='P' and dateadd(dd,number,convert(varchar(8),getdate(),120)+'01')<=dateadd(dd,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01') --从2016-04-01到现在所有天数SELECT DATEADD(DAY, number, CONVERT(DATETIME, '2016-04-01')) DataTime
FROM master..spt_values WHERE type = 'P' AND number BETWEEN 0 AND DATEDIFF(DAY, '2016-04-01', GETDATE())--从2016-04-01到现在所有月份
SELECT DATEADD(MONTH, number, CONVERT(DATETIME, '2016-04-01')) month
FROM master..spt_values WHERE type = 'P' AND number BETWEEN 0 AND DATEDIFF(MONTH, '2016-04-01', GETDATE())