首页 新闻 搜索 专区 学院

如何获得某一时间段内没有比赛记录的所有日期?

0
悬赏园豆:50 [待解决问题]
如表:
Temp (id int ,race varchar(50),dt datetime)
1 100米 2011-05-01 00:00:00.000
2 马拉松 2011-05-04 00:00:00.000
3 铅球
2011-06-03 00:00:00.000
问题补充:

例如:起始时间2011-05-01,结束时间2011-07-01

结果:罗列出没有比赛项目的日期:

        2011-05-02

        2011-05-03

        2011-05-05

          .............

       2011-06-01

       2011-06-02

       2011-06-04

        ..............

      2011-06-28

      2011-06-29

      2011-06-30

      2011-07-01

Loong_zxl的主页 Loong_zxl | 初学一级 | 园豆:55
提问于:2011-06-24 16:37
< >
分享
所有回答(2)
0

补充一下题目,看不懂。。。。。

sunlary | 园豆:934 (小虾三级) | 2011-06-24 16:54
0

这是我在SQL Server中写的:

create table #Temp(id int ,race varchar(50),dt datetime)

insert into #Temp select 1, '100米', '2011-05-01'

insert into #Temp select 2, '马拉松', '2011-05-04'

insert into #Temp select 3, '铅球', '2011-06-03'

create table #TempDate(dt datetime)

declare @startDate datetime

declare @endDate datetime

declare @tempDate datetime

set @startDate='2011-05-01'

set @endDate='2011-07-01'

set @tempDate=@startDate
while (@tempDate>=@startDate and @tempDate<=@endDate)

begin

  insert into #TempDate select @tempDate set @tempDate=DATEADD(DAY, 1, @tempDate)

end

select dt from #TempDate where dt not in (select dt from #Temp)

drop table #Temp

drop table #TempDate

镆铘 | 园豆:361 (菜鸟二级) | 2011-06-25 16:55
谢谢啊,前提不能用存储过程啊
支持(0) 反对(0) Loong_zxl | 园豆:55 (初学一级) | 2011-06-27 08:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册