首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver怎么计算两个日期之差,精确到毫秒计算

2013-01-12 
sqlserver如何计算两个日期之差,精确到毫秒计算declare @starttime datetime,@endtime datetimeset @start

sqlserver如何计算两个日期之差,精确到毫秒计算
declare @starttime datetime,@endtime datetime
set @starttime='2012-10-07 10:57:23.957'
set @endtime  ='2012-11-08 08:31:03.224'

如题,我要得到相差31天 几小时 几分 几秒 几毫秒

select datediff(part,@starttime,@endtime)
part使用day计算出来是32天,不对;
part使用ss,ss最大是60几天,超出的话不对;
part使用ms,ms最大是24小时多少多少,超出不对。

大神们,你们是怎么做的啊?
[解决办法]
 declare @starttime datetime,@endtime datetime
 set @starttime='2012-10-07 10:57:23.957'
 set @endtime  ='2012-11-08 08:31:03.224'
用datediff(d,@starttime,@endtime)
hh为小时 mi为分 s为秒 ms为毫秒
[解决办法]
--计算时间
declare @starttime datetime,@endtime datetime
set @starttime ='2012-10-07 10:57:23.957'
set @endtime  ='2012-11-08 08:31:03.224'
--需减1 因为当天不能被计算所以减去当天  
 select convert(varchar(50),datediff(DAY,@starttime,@endtime)-1)+'天'+
   convert(varchar(50),datediff(HH,@starttime,@endtime)%24)+ '小时'+
   convert(varchar(50),datediff(MI,@starttime,@endtime)%60)+'分钟'+
   convert(varchar(50),datediff(S,@starttime,@endtime)%60)+'秒'+
   convert(varchar(50),datediff(S,@starttime,@endtime)%60%1000)+'毫秒'
--1秒等于一千毫秒  则毫秒用秒来计算

sqlserver怎么计算两个日期之差,精确到毫秒计算

热点排行
Bad Request.