我需要比较2个日期并返回两个小数位之间的天数。
例如:
比较时
SubmittedDate = 2012-02-29 07:02:55.000
FirstCall = 2012-02-29 12:12:19.000
这是一个5小时的差异。所以我会返回0.2天
我试过了:
CAST(DATEDIFF(Hour, SubmittedDate, FirstCall)/30.0 AS DECIMAL(5,2)) As HoursBeforeFirstCall
CAST(DATEDIFF(Day, SubmittedDate, FirstCall) AS DECIMAL(5,2)) As HoursBeforeFirstCall
似乎无效。
答案 0 :(得分:39)
在几秒钟内取DateDiff
,然后除以86400.0
。小数点是必需的。
答案 1 :(得分:6)
当您将日期表示为数字时,每天由1.0"单位"表示。已经。要将两个日期的时间跨度作为小数,您可以减去它们。
SELECT CAST((@FirstCall - @SubmittedDate) AS NUMERIC(10, 2))
答案 2 :(得分:1)
这个怎么样。
select convert(decimal(12,2),convert(decimal(12,2),datediff(second,'2012-02-29 07:02:55.000','2012-02-29 12:12:19.000'))/60/60/24)
答案 3 :(得分:0)
以下是我所做的:
ROUND(SUM(DATEDIFF(ss,StartDateTime,EndDateTime) / 60.0 / 60.0), 2)