比如数据中的
2011-12-28 13:14:13.000------2011-12-28 13:19:39.000这之间有6条数据随便取一条
2011-12-28 13:20:07.000------2011-12-28 13:28:17.000之间有5条取1条
2011-12-28 13:31:13.000------2011-12-28 13:37:13.000有3条数据取1条10分钟时间段之内的数据随便取一条,没有的跳过不管,这个该怎么写语句?SQL时间取值

解决方案 »

  1.   

      declare @stime SMALLDATETIME
     declare @etime SMALLDATETIME
    set @stime = '2000-01-01 00:00:00'declare @i INT
    set @i=0
    SET @etime=dateadd(n,@i,@stime)DECLARE @tb TABLE(c1 DATETIME )while   @etime < getdate()
    BEGIN
     INSERT INTO @tb
         select TOP 1 crdate  FROM sysobjects WHERE crdate BETWEEN  @stime AND @etime ORDER BY(NEWID())
         set @i=@i+10
         SET @stime=@etime
         SET @etime=dateadd(n,@i,@stime)
    end  
    SELECT * FROM @tb--sysobjects  换成你自己表,@tb根据需要进行定义