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

Posted

技术标签:

【中文标题】如何在 postgresql 视图中获取两个日期时间字段的天数和小时数差异?【英文标题】:How to get two datetime fields difference in days and hours in postgresql view? 【发布时间】:2012-08-20 01:21:28 【问题描述】:

我有如下表格中的数据:

  **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】:

查看documentation中的格式化函数。

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

希望对你有帮助。

【讨论】:

+1 但请注意,在我的情况下,仅在格式为 'DD.HH24' 时才有效

以上是关于如何在 postgresql 视图中获取两个日期时间字段的天数和小时数差异?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PostgreSQL 中获取星期开始和结束日期字符串?

在另外两个文本视图获取值之后设置文本视图值[重复]

PostgreSQL如何获取系统视图/函数对应的源码

如何在 PostgreSQL 中合并两个查询?

如何根据最近的日期属性获取两个字段?

差距和岛屿 - 使用 Postgresql 获取某个日期范围内的失业日期列表