如何在PostgreSQL视图中获取两个日期时间字段间的天数和小时数差异?

3

我有以下表格中的数据:

  **start_date**                         **end_date**
---------------                      -----------------
2011-06-27 13:24:45.137417          2011-06-28 05:34:26.54939
2011-09-30 09:09:00.501381          2011-10-03 23:38:46.479824

预期的结果如下所示:
Diff
-------
0.16
3.14

小数点前的数字表示“天”,小数点后的数字表示“小时”。

我尝试使用以下方法:

extract('epoch' from (end_date-start_date))/(3600*24)

但是它返回的“小时”值格式为100,即第一条记录的值为0.673395971909722,第二条记录的值为3.60400438012731。

1个回答

6

请查看文档中的格式化函数。

SELECT to_char(end_date - start_date, 'D.HH24') AS diff FROM your_table;
0.16
3.14

希望这有所帮助。


2
+1 但需要注意的是,只有在“DD.HH24”格式下才有效。 - doctore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接