首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何得到分钟差?

问如何得到分钟差?
EN

Stack Overflow用户
提问于 2014-05-29 15:26:07
回答 1查看 1.9K关注 0票数 0

对于t,我试图获得运行sql语句的时间差:

代码语言:javascript
复制
declare @t1 datetime
declare @t2 datetime
declare @msg varchar(12)

set @t1 = getdate()
--run sql statements
....
set @t2 = getdate()

set @msg = Convert(varchar(12), Datediff(minute, @t1, @t2))
Print 'Processing time is %1!' , @msg

sql语句花费的时间超过1μis,但是输出的打印时间是0。

如何获得时差?或者,怎样才能在分+秒之间得到时差?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 15:47:23

Datediff返回跨越两个日期时间的“边界”数(即返回一个整数)。如果您的开始和结束时间大于1分钟,但间隔不到2分钟,Datediff(分钟,开始,结束)将返回1,因为它们之间没有完整的2分钟。您需要做的是获取两个日期时间之间的秒数,然后计算分钟数。

代码语言:javascript
复制
declare @t1 datetime
declare @t2 datetime
declare @seconds int

set @t1 = getdate()
--run sql statements
--....
set @t2 = getdate()

set @seconds = Datediff(S, @t1, @t2)
Print 'Processing time is ' + 
       convert(varchar, @seconds/60) + ':' + 
       convert(varchar, @seconds % 60)

我使用@seconds/60来获取整分钟的时间,使用@seconds % 60获取剩余的秒数。如果你需要更高的精度,你可以用毫秒做同样的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23936907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档