我知道这是一个简单的问题,但我被困住了。我分别尝试DateDiff
了一天和一小时,但我希望我的日期可以检测到我的时间,如果它超过 24 小时。
例如:
Date1: 20/12/2011
Time1: 9:00
Date2: 21/12/2011
Time2 : 13:00
Days Taken: 1
Time Taken: 28
我想计算天数和小时数,所以 1 天 4 小时是我想要的结果。
谁能帮我解决这个问题?欣赏。
我知道这是一个简单的问题,但我被困住了。我分别尝试DateDiff
了一天和一小时,但我希望我的日期可以检测到我的时间,如果它超过 24 小时。
例如:
Date1: 20/12/2011
Time1: 9:00
Date2: 21/12/2011
Time2 : 13:00
Days Taken: 1
Time Taken: 28
我想计算天数和小时数,所以 1 天 4 小时是我想要的结果。
谁能帮我解决这个问题?欣赏。
也许在以下帮助下MODULO
:
SELECT (
DATEDIFF(dd,
CONVERT(datetime,'20/12/2011 09:00:00',104),
CONVERT(datetime,'21/12/2011 13:00:00',104))
) AS [days taken],
(
DATEDIFF(hh,
CONVERT(datetime,'20/12/2011 09:00:00',104),
CONVERT(datetime,'21/12/2011 13:00:00',104))
% 24
) AS [hours taken]
结果:
DAYS TAKEN HOURS TAKEN
1 4
在 sql 服务器中;
declare @d1 datetime = '20111220 09:00:00'
declare @d2 datetime = '20111221 13:00:00'
select hours/24 daysTaken, hours%24 hoursTaken
from (
select datediff(hh,@d1,@d2) hours
) A
--Results
daysTaken hoursTaken
1 4
假设您使用的是 SQL Server
Select datediff(hour,date1,date2)/24.0 from table