Time 两次之间的SQL差异(以秒为单位)

Time 两次之间的SQL差异(以秒为单位),time,sql-server-2012,seconds,Time,Sql Server 2012,Seconds,这是我的一段代码,CHECKOUTTIME和RETURNTIME过去是DATETIME DD-DD-YYYY HH-MM-SS,但我将它们转换为时间HH-MM-SS tt,这对我来说很好。现在我需要以秒为单位计算这两列之间的差异,选择DATEDIFF(ss、CheckOutTime、CheckIntTime) 您是说这些列使用时间数据类型吗?如果是这样的话,你怎么能在23:30到第二天01:30的时间里工作呢?@FLICKER我把它改成了12小时。@AbleTech。我还是不明白你怎么知道09:

这是我的一段代码,CHECKOUTTIME和RETURNTIME过去是DATETIME DD-DD-YYYY HH-MM-SS,但我将它们转换为时间HH-MM-SS tt,这对我来说很好。现在我需要以秒为单位计算这两列之间的差异,

选择DATEDIFF(ss、CheckOutTime、CheckIntTime)

您是说这些列使用时间数据类型吗?如果是这样的话,你怎么能在23:30到第二天01:30的时间里工作呢?@FLICKER我把它改成了12小时。@AbleTech。我还是不明白你怎么知道09:34是今天还是第二天?除非你有另一个字段告诉你它们是否在同一天。只是好奇。@FLICKER是的,我有另外两个字段,我另外做了两列,并称它们为expr1和expr2(datetime),但这只是为了参考,我没有不知道这是从今天还是明天9:30的问题,因为我想做的就是得到一个月的平均值。大多数情况下,在字段中丢失日期信息和只保留时间信息是错误的。它并不总是错的,但它经常是错的。Flicker观察到,如果您只有时间信息,您无法正式说出事件之间的间隔天数,因此您的答案可能会被关闭86400秒(一天中的秒数)的倍数。使用12小时制只会让事情变得更糟。
SELECT   Warehouses.Name,
         RIGHT(CONVERT(VARCHAR,AirwayBillTrucks.CheckOutTime,100),7) AS CheckOutTime,
         RIGHT(CONVERT(VARCHAR,AirwayBillTrucks.ReturnTime,100),7) AS ReturnTime