datediff(day,time1,time2)
外层用一个循环
循环里面用
dateadd(day,smalldate,1)
时间间隔 可以用 datediff(day,samelldate,bigdate)
关于这两个函数,如果不会,可以百度
数据量不大可以使用日期函数和系统表,返回一个结果集出来,
下面的SQL语句,楼主可以自己封装成函数或者存储过程
DECLARE @vDateB VARCHAR(7) --参数开始月份 DECLARE @vDateE VARCHAR(7) --参数结束月份 DECLARE @DateB DATETIME DECLARE @DateE DATETIME --为参数赋值 SET @vDateB = '2011-11' SET @vDateE = '2012-06' SET @DateB = CONVERT(DATETIME, @vDateB + '-01', 120) SET @DateE = CONVERT(DATETIME, @vDateE + '-01', 120) --返回日期范围所有月份的语句 SELECT CONVERT(VARCHAR(7), DATEADD(mm, a.number + 1, @DateB - DATEPART(mm, @DateE)),120) monthdate FROM master..spt_values a WHERE type = 'p' AND number <=DATEDIFF(mm,@DateB,@DateE)