我用'time'字段设置我的MySQL数据库
在传统意义上,它不是HH:MM,它是事件发生的时间,因此在游戏中还剩5分45秒时发生值为5:45的事件.12:25发生了12分25秒,等等.
我希望能够找出经过的总时间,所以如果我有一个事件发生在12:25而下一个事件发生在5:45我希望能够得到差异,这将等于6:40.然后,我想将其表示为小数,在本例中为6.67.
这可能吗?
提前致谢.
小智 31
只是用
TIMEDIFF(fromtime, totime):
SELECT TIMEDIFF("12:25", "5:45");
Run Code Online (Sandbox Code Playgroud)
如果你需要一个十进制,使用TIME_TO_SEC()/3600
(它假设你传递了几秒钟,但你存储时间的格式是模糊的,SQL可能会将它们解释为HH:MM - 你可以解决这个问题CONCAT("00:",MinuteSecondField)
吗?) - 那么你可以使用TIME_TO_SEC()/60
,这更正确)
A T*_*A T 28
对我来说,这工作:
TIMESTAMPDIFF(MINUTE, T0.created, T0.modified)
Run Code Online (Sandbox Code Playgroud)
参考:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_timestampdiff
art*_*bot 18
我需要类似的.两个有用的功能:TIME_TO_SEC和SUBTIME.
例如,如果你的时间字段是正常的HH:MM倍,那么
SELECT (TIME_TO_SEC(end_time) - TIME_TO_SEC(start_time))/60 AS `minutes`
Run Code Online (Sandbox Code Playgroud)
在你的情况下,据我所知,时间是倒退的,即.12:00<6:00
所以你的end_time和start_time需要交换.
如果你想用HH:MM:SS输出你可以做到的
SELECT SUBTIME(end_time, start_time)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
70803 次 |
最近记录: |