简体   繁体   English

如何使用datediff函数显示日,时,分和秒

[英]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_dtDepart_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM