[英]How to use datediff function to show day, hour, minute, and second
I have a record: 我有一个记录:
Depart_dt Arrived_dt
10/1/2013 6:15:00 AM 10/1/2013 7:25:00 AM
Based on my calculation, it is 0 day, one hour, and 10 minutes between the arrived_dt
and Depart_dt
. 根据我的计算,得出的
arrived_dt
和Depart_dt
之间的时间是0天零一小时十分钟。 How do I show the result like below: 如何显示如下结果:
Day Hour Minute Second
0 1 10 0
You can use modulus division on the output of the DATEDIFF()
function for this: 您可以在
DATEDIFF()
函数的输出上使用模数除法:
SELECT DATEDIFF(second,Depart_dt,Arrived_Dt)/(60*60*24) AS Day
,DATEDIFF(second,Depart_dt,Arrived_Dt)/(60*60)%24 AS Hour
,DATEDIFF(second,Depart_dt,Arrived_Dt)/(60)%60 AS Minute
,DATEDIFF(second,Depart_dt,Arrived_Dt)%60 AS Second
FROM Table1
Demo: SQL Fiddle 演示: SQL Fiddle
select
datediff(second,depart_dt, arrived_dt)/86400 as Day,
datediff(second,depart_dt, arrived_dt)/3600%24 as Hour,
datediff(second,depart_dt, arrived_dt)/60%60 as Minute,
datediff(second,depart_dt, arrived_dt)%60 as Second
from yourtable
Converting days, hours and minutes into seconds for accuracy. 将天,小时和分钟转换为秒以提高准确性。
SQL Fiddle: http://sqlfiddle.com/#!6/c6c63/1 SQL小提琴: http ://sqlfiddle.com/#!6 / c6c63 / 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.