【发布时间】:2014-03-11 11:35:20
【问题描述】:
我有一个表格,其中包含两个日期列,分别是 ArrivalDate 和 DepartureDate。 我需要计算表中所有条目的小时和分钟(不是日期)的总时间段。我可以通过 datediff 获取特定记录的时间段,但我需要的是 我的表中所有日期差异的总和,以小时和分钟为单位。
我这样做是为了获取日期差异
set @StartDate = '10/01/2012 08:40:18.000'
set @EndDate = '10/04/2012 09:52:48.000'
SELECT CONVERT(CHAR(8), CAST(CONVERT(varchar(23),@EndDate,121) AS DATETIME)
-CAST(CONVERT(varchar(23),@StartDate,121)AS DATETIME),8) AS TimeDiff
这只给出了一个特定的日期差异。我需要表格中的所有日期差异,然后求和。
【问题讨论】:
-
请提供样本输出!
-
如果您只是在该 select 语句之后添加 FROM tableName,并将 \@StartDate 和 \@EndDate 更改为日期列,您不会得到想要的结果吗?
-
为什么要将变量转换为 VARCHAR,然后再转换回 DATETIME,然后再从另一个中减去?
-
找出以秒为单位的差异,然后根据需要将其相加,然后将最终数字转换为小时/分钟
-
@Himansz 你想要的输出是什么?
标签: sql sql-server sql-server-2008 date datetime