解决方案 »
- 请问哪位高手知道SCORM?
- 我整个项目中前后台怎么都出现虚线了?????急!急!!
- 在服务端写confirm怎么进行判断啊?????????????
- gif图片不会换帧??
- .aspx文件里能进行判断吗?
- 有没有VS.2005安装包中_3762_RTL_x86_chs_NETCF_SDK.cab这个文件
- 关于定制GridView分页问题?
- 请帮帮我关闭指定的窗口?
- 我在datagrid中动态添加boundcolumn,可是为什么显示不出来?
- (asp.net)我的页面数据要先进入开发者模式下才能出现,为什么?有人遇到过这种情况吗?
- 动态生成的控件,为什么FindControl不能查找?
- 上传歌曲用vs代码怎么实现啊
如果巡逻01在一次停靠之后,没有其他车辆再次停靠
然后01又停靠,这个ID就会是连续的
你单纯从ID就没法区分了,还要再判断时间间隔
insert into a
select 1,'2014-10-01 05:00:06' union all
select 2,'2014-10-01 05:00:26' union all
select 4,'2014-10-01 05:10:06' union all
select 6,'2014-10-01 05:11:06' union all
select 7,'2014-10-01 05:11:20' union all
select 8,'2014-10-01 05:11:30' union all
select 10,'2014-10-01 05:14:06'Create proc d_gettime
as
begin
create table #tb(beginid int,endid int,duration int)
declare @begin int
declare @begintime datetime
declare @changebegin int
declare @end int
declare @endtime datetime
set @begin=0
set @changebegin=0
declare @item int
declare @itemvalue datetime
declare @i int
set @i=0
declare mycursor cursor for select id,time from a order by id
open mycursor
fetch next from mycursor into @item,@itemvalue
while (@@fetch_status=0)
begin
if(@i=0)
begin
set @begin=@item
set @begintime=@itemvalue
end
if(@item<>@changebegin+1 and @changebegin<>0)
begin
if(@end-@begin>0)
begin
insert into #tb select @begin,@end,DATEDIFF(SS,@begintime,@endtime)
end
set @begin=@item
set @begintime=@itemvalue
end
else
begin
set @end=@item
set @endtime=@itemvalue
end
set @changebegin=@item
set @i=@i+1
fetch next from mycursor into @item,@itemvalue
end
close mycursor
deallocate mycursor
select * from #tb
end
--执行存储过程
exec d_gettime
--结果
beginid endid duration
----------- ----------- -----------
1 2 20
6 8 24