根据某个日期得到该月的所有日期
2009-09-22 22:36
246 查看
--(1) declare @StartTime Datetime set @StartTime='2009-3-21' select convert(varchar(10),dateadd(month,datediff(month,0,@StartTime),0+number),120) '日期' from master..spt_values where type='P' and dateadd(day,number,dateadd(month,datediff(month,0,@StartTime),0))<dateadd(day,-day(@StartTime)+1,dateadd(mm,1,@StartTime)) --每一小时来划分一天 select right(100+number,2)+':00'+'-'+right(101+number,2)+':00' as '时间段' from master..spt_values where type='p' and number between 0 and 23 实例 declare @TT table ( ID char(10), DATE varchar(10), NUM int ) insert into @TT select '01','2009-01',10 union all select '01','2009-02',11 union all select '01','2009-03',12 union all select '02','2009-02',32 union all select '02','2009-04',33 select distinct T1.ID,T2.Date into #1 from ( select Date='2009-01' union all select Date='2009-02' union all select Date='2009-03' union all select Date='2009-04' union all select Date='2009-05' union all select Date='2009-06' ) T2,@TT T1 select T2.ID,T2.Date,isnull(T1.Num,0) '数量' from @TT T1 right join #1 T2 on T1.ID=T2.ID and T1.Date=T2.Date ID Date 数量 ---------- ------- ----------- 01 2009-01 10 01 2009-02 11 01 2009-03 12 01 2009-04 0 01 2009-05 0 01 2009-06 0 02 2009-01 0 02 2009-02 32 02 2009-03 0 02 2009-04 33 02 2009-05 0 02 2009-06 0
相关文章推荐
- java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期
- java 根据开始和结束日期得到之间所有日期集合
- java 根据开始和结束日期得到之间所有日期集合
- java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期
- [MSSQL]根据年得到所有星期日的日期
- js得到连两个时间段之间所有的年-月 获取当前日期 格式化日期 根据指定日期得到该日期该月份的最后一天
- 【叶子函数分享四十八】根据年得到所有星期日的日期
- js根据开始日期和结束日期得到中间的所有日期
- 根据年月(如2013-05)得到该月的所有日期及对应日期是周几
- 根据年得到所有星期日的日期
- 【java】根据开始时间、结束时间得到两个时间段内所有的日期
- 【叶子函数分享四十八】根据年得到所有星期日的日期
- 根据年得到所有星期日的日期
- [MSSQL]根据年得到所有星期日的日期
- 根据开始日期和结束日期获取所有日期的方法
- 根据表名得到除主键外的所有字段及字段类型
- 根据起始日,结束日获取之间所有日期信息
- 根据开始日期和结束日期获取所有日期的方法
- javascript根据已知两个日期,获得两个日期之间的所有数据
- 【叶子函数分享二十七】根据日期得到星期的函数