MySQL 中两个时间字段的分钟数差异 [英] Difference in minutes from two time fields in MySQL

查看:24
本文介绍了MySQL 中两个时间字段的分钟数差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用字段时间"设置了我的 MySQL 数据库

I set up my MySQL database with the field 'time'

它不是传统意义上的 HH:MM,它是一个事件发生的时间,所以一个值为 5:45 的事件在比赛还剩 5 分 45 秒时发生.12:25 发生,还剩 12 分 25 秒等

It is not HH:MM in the traditional sense, it is the time an event occurred, so an event with the value of 5:45 occurred with 5 minutes 45 seconds left in a game. 12:25 occurred with 12 minutes and 25 seconds left, etc.

我希望能够找出经过的总时间,所以如果我有一个事件发生在 12:25,而下一个事件发生在 5:45,我希望能够得到差异,这将等于 6:40.然后,我想将其表示为小数,在本例中为 6.67.

I would like to be able to find out the total time elapsed, so if I have an event that occurred at 12:25 and the next event occurred at 5:45 I want to be able to get the difference, which would be equal to 6:40. Then, I would like to express this as a decimal, in this case 6.67.

这可能吗?

提前致谢.

推荐答案

就用

TIMEDIFF(fromtime, totime):

SELECT TIMEDIFF("12:25", "5:45");

如果您需要小数,请使用 TIME_TO_SEC()/3600(它假设您传递了秒数,但是您存储时间的格式是模糊的,SQL 可能会将它们解释为 HH:MM - 你可以用 CONCAT("00:",MinuteSecondField) 解决这个问题吗?) - 然后你可以使用 TIME_TO_SEC()/60,这是更正确的)

If you need a decimal, use TIME_TO_SEC()/3600 (it assumes you passed it seconds, but the format you're storing the times in is vague and SQL probably will interpret them as HH:MM - you can fix this with CONCAT("00:",MinuteSecondField) maybe?) - then you can use TIME_TO_SEC()/60, which is more correct)

这篇关于MySQL 中两个时间字段的分钟数差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆