我程序一个周期运行时间为50秒-65秒不等,每个运行周期把采集到的值写入数据库。现在我要做个查询语句查出每个整点时的值、每8小时值(以交班时间为止)、每天的值(以交班时间为止)。这个怎么做??
因为记录时间不等,所以可能在某个整点上无记录,所以要取上一条或下一条记录。这个功能怎么实现??我的程序是用delphi 写的!!select 语句能不能实现这个功能??
因为记录时间不等,所以可能在某个整点上无记录,所以要取上一条或下一条记录。这个功能怎么实现??我的程序是用delphi 写的!!select 语句能不能实现这个功能??
以下是我写的一个取整点记录的表,其他如交班时间等,@M数改成当天的第几个整点时交班数,如8等,就可取到
--取值的日期
declare @date smalldatetime
--在这里是整点时间
declare @hours smalldatetime
declare @m smallint
declare @seconddiff int
set @m=1
set @date='2006-10-26'
while @m<=24
beginset @hours=DATEADD(hour,@m ,@date )
select @seconddiff=min(abs(datediff(second,日期字段,@hours))) from 表select top 1 * From 表 where (abs(datediff(second,日期字段,@hours))) =@seconddiff
order by (datediff(second,日期字段,@hours))
set @m=@m+1
end