postgresql - 日期postgres之间的 double 月数

标签 postgresql timestamp double date-difference

是否可以将两个日期之间的月数计算为 double 而不是整数?例如,2016-05-042015-03-21 之间的差异类似于 13.4213.43 几个月?

最佳答案

有很多方法可以计算类似的东西,根据您用于计算的规则,您会得到不同的结果。

以下方法为您提供了两个日期之间给定时间段内的一年中的十二分之一:

select (date'2016-05-04' - date'2015-03-21') / 365.0 * 12

以上结果为 13.48。

下面的方法给出了一个可能更准确的数字 (13.47),尽管要复杂得多,并且导致的差异很小:

select extract('years' from age) * 12 + extract('months' from age) + extract('days' from age) / 30
from (select age('2016-05-04'::timestamp, '2015-03-21'::timestamp)) a

关于postgresql - 日期postgres之间的 double 月数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37817701/

相关文章:

postgresql - 我们如何配置 postgresql 9.2 以关闭早于某个时间间隔的连接?

node.js - Sequelize 无法连接到 docker 上的 postgres

PostgreSQL 主服务器在复制流上挂起

java - 在java中相应地打印 double 值

SQL 获取条件后的最后一行

php - 使用当前时间更新时间戳字段,但不是在每一行更新时

windows - 在批处理作业中创建文件名作为时间戳

Javascript,如何找到mysql时间戳样式中两个日期时间之间的差异

C# 比较两个 double 与 .Equals()

c++ - IEEE 754/IEC 559