sql datetime计算

我有一个Excel工作表,下面有这个公式。 我想用sql来计算相同的公式。 结果将在第二。

谢谢,

declare @t1 AS datetime declare @t2 AS datetime declare @t3 AS datetime declare @t4 AS datetime set @t1 = '2011-11-04 00:00:00.000' --start date set @t2 = '2012-01-16 18:21:55.000' --start time set @t3 = '2011-11-10 00:00:00.000' --end date set @t4 = '2012-01-16 12:10:00.000' --end time 

Excel公式

 ((end date-start date-1)+(end time-(0,375)))*24*60*60 

0,375的值意味着9小时

公式结果将是= 443400秒

你提到你没有在公式中使用开始时间?

它来了:

 declare @t1 AS datetime declare @t2 AS datetime declare @t3 AS datetime declare @t4 AS datetime set @t1 = '2011-11-04 00:00:00.000' --start date set @t2 = '2012-01-16 18:21:55.000' --start time set @t3 = '2011-11-10 00:00:00.000' --end date set @t4 = '2012-01-16 12:10:00.000' --end time SELECT CAST((DATEDIFF(d, @t1, @t3)-1 + (CAST(@t4 AS FLOAT) - FLOOR(CAST(@t4 AS FLOAT)) - 0.375))*24*60*60 AS INT)