SQL 计算时间差问题,要精确到天小时分钟.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 计算时间差问题,要精确到天小时分钟.相关的知识,希望对你有一定的参考价值。

例如:2012年04月05日08:30到2012年04月05日12:00,这两个时间计算时间差,我要让他结果显示为:0天3小时30分钟2012年04月05日08:30到2012年04月08日12:00,这两个时间计算时间差,我要让他结果显示为:3天3小时30分钟

什么数据库啊?

sqlserver

 

select cast(floor(datediff(minute,时间1,时间2) / 1440) as varchar)+\'天\'+

       cast(floor((datediff(minute,时间1,时间2) % 1440)/60) as varchar)+\'小时\'+ 

       cast(((datediff(minute,时间1,时间2))-

           (floor(datediff(minute,时间1,时间2) / 1440) *1440)-

           (floor((datediff(minute,时间1,时间2) % 1440)/60)*60)) as varchar)+\'分\'

 from 表名

 

刚才测试了一下:结果如下

有问题欢迎追问

参考技术A select datediff(day,GETDATE(),getdate())--天数差
select DATEDIFF (HOUR,GETDATE()-2,getdate()) --小时差 值/24,就是天
select DATEDIFF (MINUTE,GETDATE()-2,getdate()) --俩个日期的分钟差,值/24,天数差,余值/60,小时差,余数为分钟。
参考技术B SELEC TDATEDIFF( Second, '2009-8-25 12:15:12', '2009-9-1 7:18:20') --返回相差秒数
SELEC TDATEDIFF( Minute, '2009-9-1 6:15:12', '2009-9-1 7:18:20') --返回相差分钟数
SELEC TDATEDIFF( Day, '2009-8-25 12:15:12','2009-9-1 7:18:20')--返回相差的天数
SELEC TDATEDIFF( Hour, '2009-8-25 12:15:12', '2009-9-1 7:18:20')--返回相差的小时
参考技术C 根本不行
[SQL]SELECT DATEDIFF( Second, '2009-8-25 12:15:12', '2009-9-1 7:18:20')
[Err] 1582 - Incorrect parameter count in the call to native function 'DATEDIFF'

求教:如何计算EXCEL时间差???要精确到分钟或者秒,在线等,谢

比如: A1=20091215142057 (即2009年12月15日14:20:57),
A2=20091215142157,
如何使用公式得出两者之间的时间差?且时间差用秒钟来显示?
即在A3空格显示的答案为:60秒??
求答,不胜感谢!

直接用公式,例如A1写2010-1-4 9:00:18,A2写2010-1-4 9:00:20.因为时间格式不好写,用一个笨方法在A1写=now()然后将之贴成值,然后在其中改相应时间,然后在A3写=A2-A1,在A3会显示1900-1-0 0:00,随后该其单元格格式为h:mm:ss,这样A3就显示0:00:02.
请按照这样的操作做,应该OK
参考技术A a3=text(a2-a1,"[s]") 参考技术B =TEXT(TEXT(A2,"#-00-00 00\:00\:00")-TEXT(A1,"#-00-00 00\:00\:00"),"[s]秒")

测试通过!

以上是关于SQL 计算时间差问题,要精确到天小时分钟.的主要内容,如果未能解决你的问题,请参考以下文章

求教:如何计算EXCEL时间差???要精确到分钟或者秒,在线等,谢

c++计算时间差(精确到秒)

sql怎么计算时间差

如何用EXCEL计算年龄,精确到月和天,并筛选?

在excel中怎么计算时间差,显示小时与分。

请问mysql的sql中如何计算两个datetime的差,精确到小时,谢谢