问题描述
我使用字段时间"设置了我的 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 中两个时间字段的分钟数差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!