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)