【发布时间】:2019-11-26 17:05:54
【问题描述】:
我有以下 SELECT,我从表中减去两次以查看某项花费了多长时间。
SELECT finished-started AS duration FROM table;
这给了我类似 3 天 00:17:15.181635
的答案然后我使用 date_trunc 因为我只关心分钟级别。
SELECT date_trunc('minute', finished-started) AS duration FROM table;
这给了我一个类似 3 days 00:17:00
的答案有没有办法从末尾剪掉 :00 以便 SELECT 输出类似于 3 days 00:17 的内容?
【问题讨论】:
-
可以使用
to_char()格式化区间 -
所以在你的列“finished-started”中只有这个值:“00:17:15.181635”?
-
对不起,我不清楚。 Finished 和 Started 都是没有时区的时间戳列。所以我的 SELECT 减去它们并给我差异。这是示例输出: DBNAME=> select id, started, finished, finished-started as duration from tablename limit 1;编号 |开始|完成|持续时间 5 | 2019-09-06 18:16:50.773331 | 2019-09-06 18:28:08.109557 | 00:11:17.336226
标签: sql postgresql intervals