sqlite 如何计算两个时间戳之间的差值?

kcugc4gi  于 2022-11-15  发布在  SQLite
关注(0)|答案(2)|浏览(339)

如何计算时间戳TIMEINTIMEOUT之间的分钟差?我的表(只有3行):
Date|TimeIn|超时
-|-|
2020-05-06|14:00|15:00
2020-05-06|14:45|15:55
2020-05-07|09:00|10:45
我的SQL没有输出我想要的:

SELECT (T.DATE + T.TIMEIN - T.DATE + T.TIMEOUT) AS `Duration`

FROM Transport T;

产出:
时长

29
29
19
它应该是:
时长

60
70
105
我在没有使用日期的情况下尝试了这一点,但是,所有行的输出都是-1。

cyvaqqii

cyvaqqii1#

假设TIMEOUT始终大于TIMEIN,则可以减去这两个值的Unix纪元,然后除以60,得到分钟数:

SELECT (strftime('%s', TIMEOUT) - strftime('%s', TIMEIN)) / 60 AS Duration
FROM Transport;

请参阅demo

oxalkeyp

oxalkeyp2#

日期/时间不像整数,所以它们不像整数那样加/减。因此,在减法之前将它们转换为时间戳。

相关问题