数据库里面有个时间字段datetime
2011-8-22 00:00:00
2011-8-22 00:00:21
2011-8-22 00:00:32
2011-8-22 00:00:40
2011-8-22 00:01:00
...
2011-8-22 23:59:59我希望每次把间隔30秒的数据取出来,该如何做呢?
2011-8-22 00:00:00
2011-8-22 00:00:21
2011-8-22 00:00:32
2011-8-22 00:00:40
2011-8-22 00:01:00
...
2011-8-22 23:59:59我希望每次把间隔30秒的数据取出来,该如何做呢?
select *
from tb
where datediff(ss,[datetime],'2011-8-22 00:00:00')%30=0
where datediff(second,a.时间字段,b.时间字段) = 30
WHERE DATEDIFF(ss,dt1,dt2)=30
a.*
from
tb a,tb b
where
DATEDIFF(ss,a.col,b.col)=30
and
CONVERT(varchar(10),a.col,120)=CONVERT(varchar(10),b.col,120)
select *
from tb
where [datetime] between '2011-8-22 00:00:00' and dateadd(ss,30,'2011-8-22 00:00:00')
时间字段< (select dateadd(ss,30,开始时间)) and 时间字段>= 开始时间
select * from T awhere exists(select 1 from T b where a.id=b.id+1 and datediff(ss,b.date,a.date)=30)---id为自增字段,同一列date比较
while ...
begin
select *
from tb
where [datetime] between @time and dateadd(ss,30,@time)
--...处理数据
set @time=dateadd(ss,30,@time)
end;