sql server数据库中,有一列是时间类型的数据,获取这一列,并可以比较最后两条时间数据的差值.

sqlserver数据库中,有一列是时间datetime类型的数据,如何获取这一列,并可以比较最后两条时间数据的差值.也就是可以获取时间差?谢谢... sql server数据库中,有一列是时间datetime类型的数据,如何获取这一列,并可以比较最后两条时间数据的差值.也就是可以获取时间差?谢谢 展开
 我来答
百度网友76db8ec
2013-03-04 · 超过16用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:38.8万
展开全部
declare @a varchar(10),@b varchar(10),@c datetime,@d datetime
select top 1 @a = Area.id,@c = Area.code from Area order by code desc
select top 1 @b = Area.id,@d = Area.code from Area where id <> @a order by code desc
select @c - @d

亲,试试困衫这个,把表名和列卖尺枝名换一下,id是主键中敏
追问
我试了一下,取到的时间差有点不对,
数据库表
Id Date
1 2012-9-14 19:26:13
2 2012-9-14 19:27:26
3 2012-9-14 19:27:17
4 2012-9-14 19:28:54

我想找到最后两条的时间差,希望你能再帮忙看看,谢谢
追答
上面数据
create table test(
id int PRIMARY key,
Date datetime
)

insert into [test] values('1','2012-9-14 19:26:13')
insert into [test] values('2','2012-9-14 19:27:26')
insert into [test] values('3','2012-9-14 19:27:17')
insert into [test] values('4','2012-9-14 19:28:54')

declare @a int,@b int,@c datetime,@d datetime
select top 1 @a = [test].id,@c = [test].[Date] from [test] order by [test].id desc
select top 1 @b = [test].id,@d = [test].[Date] from [test] where id @a order by [test].id desc
Select cast(replace(replace(replace(convert(varchar,@c,120),'-',''),':',''),' ','') as bigint) - cast(replace(replace(replace(convert(varchar,@d,120),'-',''),':',''),' ','') as bigint)

查询结果 137 单位是秒
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式