如何获取在不同日期开始的2个时间之间的差异mySQL

问题描述 投票:0回答:1

开始时间:2021-02-18 23:20:10 结束于: 2021-02-19 00:01:39

我想获得这次自行车骑行的长度,但它返回一个负值,因为 TIMEDIFF() 只关注时间而不是日期(我假设)

所以预期输出类似于 00:40:00 (大约) 它回来了-23:18:31

update `schema`.`table` set `ride_length` = (timediff(`ended_at`, `started_at`));
ride_length = varchar(100) (i tried using time, datetime, and timestamp but wouldn't work)
ended_at = datetime
started_at = datetime
sql mysql time
1个回答
0
投票
SELECT SEC_TO_TIME(TIMESTAMPDIFF(second,'2021-02-18 23:20:10','2021:02-19 00:01:39')) AS time_diff;

或许可以使用这个方法,TIMESTAMPDIFF这个方法可以获取两个时间的差值。使用SEC_TO_TIME将差值转换为时间格式。我执行后返回的结果是:00:41:29

© www.soinside.com 2019 - 2024. All rights reserved.