获取一段时间内所有日期
SELECT DATEADD(dd,ROW_NUMBER() OVER(ORDER BY a.number ASC),'2011.01.01') FROM MASTER.dbo.spt_values a CROSS JOIN MASTER.dbo.spt_values b WHERE a.TYPE = 'P' AND b.TYPE = 'P' AND a.number < 50 AND b.number < 50
获取一段时间内所有月份
SELECT * FROM ( SELECT DISTINCT convert(varchar(7), cast( ltrim( year(DATEADD(dd,ROW_NUMBER() OVER(ORDER BY a.number ASC),'2015.01.01'))) +'-'+ ltrim( month(DATEADD(dd,ROW_NUMBER() OVER(ORDER BY a.number ASC),'2015.01.01'))) +'-01' as datetime) ,120) 财务月 FROM MASTER.dbo.spt_values a CROSS JOIN MASTER.dbo.spt_values b WHERE a.TYPE = 'P' AND b.TYPE = 'P' AND a.number < 80 AND b.number < 80 ) a WHERE CAST(a.财务月+'-01' AS DATETIME) < SYSDATETIME() ORDER BY a.财务月

浙公网安备 33010602011771号