2016-06-14 13 views
1

2つの日付の間の月数を整数ではなく倍精度として計算することはできますか?たとえば、2016-05-042015-03-21の違いは、13.42または13.43月のようなものでしょうか?日付の間の倍精度の日付postgres

+0

0.42や0.43の? –

+0

私は特に気にしません、30日、31日、29日、28日のうち13日である可能性があります。 –

答えて

1

このような計算方法は数多くあり、計算に使用するルールによってさまざまな結果が得られます。

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

13.48で上記の結果:

次の方法は、2つの日付の間の一定期間のためにあなたの今年の12thsの数を示します。

次の方法は、はるかに複雑、かつ最小限の差が生じるものの、おそらくより正確な数(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 
関連する問題