【问题标题】:How to get the interval between two time in query? [duplicate]如何获取查询中两次之间的时间间隔? [复制]
【发布时间】:2017-01-30 10:47:16
【问题描述】:

你能帮我得到这两列的间隔吗|clockin|clockout|在我的数据库中使用 mysql。我尝试了下面的 timediff,但问题是,例如:我在 2016 年 9 月 22 日晚上 23:00:00 打卡,我在 2016 年 9 月 23 日早上 01:00:00 打卡,我得到一个错误的结果是 -22:00:00 小时?我需要得到的结果是 02:00:00 小时。请帮帮我。

select timeDiff('clockout', 'clockin') as interval;

【问题讨论】:

  • 我真的需要帮助那些在编程方面有广泛知识的人。请帮帮我。

标签: mysql


【解决方案1】:

我认为你的问题只是在某些情况下需要增加 24 小时:

select (case when clockout > clockin
             then timeDiff(clockout, clockin) 
             else addtime(timeDiff(clockout, clockin), '24:00:00')
        end) as diff

【讨论】:

  • 谢谢你戈登林诺夫,我会试试你的答案,希望它会奏效。
  • 我仍然得到错误的结果,我的返回负数,你的不是返回 22:00:00 小时。我想要得到的结果是 02:00:00 小时。
  • @W.Jackson 。 . .我糊涂了。在你说你得到-22小时的问题中。再加上 24 小时,你应该得到 2 小时。
  • 感谢 W.Jackson,它现在可以正常工作了,你的代码工作正常是我的错,我没有检查我放在那里的数据..非常感谢。
  • 我是 Stack Overflow 的新手,有没有喜欢或投票支持我的人?
猜你喜欢
  • 1970-01-01
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 2012-12-05
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多