create table ta(startdate datetime,enddate datetime,[name] char(2)) --创建表
insert ta select '2007-1-1','2007-5-30','aa' --插入数据
go
select top 31 identity(int,0,1) as id into # from sysobjects a,sysobjects b --这个我也不知道(郁闷) 只知道是临时表
select convert(char(7),dateadd(mm,b.id,startdate),120) as [date]
,[name]
from ta a
left join # b on dateadd(mm,b.id,startdate) < a.enddate --临时表分组
/*
date name
------- ----
2007-01 aa
2007-02 aa
2007-03 aa
2007-04 aa
2007-05 aa
*/
drop table ta ,#
这个不是我写的 是优快云 里面 特别有用
本文提供了一个使用SQL创建临时表并进行数据填充的例子。通过插入指定日期范围内的数据记录,并利用临时表进行日期序列生成及左连接操作,最终实现按月展示数据的功能。
849

被折叠的 条评论
为什么被折叠?



