【问题标题】:SQL Difference between two times in secondsSQL 两次之间的差异(以秒为单位)
【发布时间】:2016-06-29 23:12:51
【问题描述】:
SELECT   Warehouses.Name,
         RIGHT(CONVERT(VARCHAR,AirwayBillTrucks.CheckOutTime,100),7) AS CheckOutTime,
         RIGHT(CONVERT(VARCHAR,AirwayBillTrucks.ReturnTime,100),7) AS ReturnTime

这是我的一段代码,CHECKOUTTIME 和 RETURNTIME 曾经是 DATETIME DD-DD-YYYY HH-MM-SS 但我将它们转换为 TIME HH-MM-SS tt 这对我来说很好。现在我需要在几秒钟内知道这两列之间的差异,

【问题讨论】:

  • 您是说您对这些列使用 TIME 数据类型吗?如果是这样,您如何使用 23:30 和第二天 01:30 的时间?
  • @FLICKER 我做到了 12 小时。
  • @AbleTech。我还是不明白你怎么知道 09:34 是今天还是第二天?除非您有另一个字段告诉您它们是否在同一天。只是好奇。
  • @FLICKER 是的我有另一个字段两个字段我又做了两列并称它们为 expr1 和 expr2(日期时间)但这仅供参考,我没有不知道这是否 9 的问题:30 如果从今天或明天开始,因为我想做的就是每月获得一个平均值。
  • 在大多数情况下,丢失日期信息并在字段中只保留时间信息是错误的。它并不总是错误的,但它经常是错误的。 Flicker 观察到,如果您只有时间信息,则无法正式确定事件之间的天数,因此您的答案可能会相差 86,400 秒(一天中的秒数)的倍数。使用 12 小时制只会让事情变得更糟。

标签: time sql-server-2012 seconds


【解决方案1】:
SELECT DATEDIFF(ss,CheckOutTime,CheckInTime)

【讨论】:

    猜你喜欢
    • 2011-04-27
    • 2015-10-17
    • 2013-09-12
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    相关资源
    最近更新 更多