2016-06-14 6 views
1

두 날짜 사이의 월 수를 정수 대신 배정 밀도로 계산할 수 있습니까? 예를 들어, 2016-05-042015-03-21의 차이는 13.42 또는 13.43 개월과 비슷할까요?날짜 사이의 이중 정밀도 숫자 postgres

+0

0.42 또는 ** 어떤 **의 0.43 달? –

+0

나는 특히 신경 쓰지 않는다. 30 일 또는 31 일 또는 29 일 또는 28 일 중 13 일이 될 수있다. 그것은 정수의 월수 + 대략 한 달 정도의 양의 근사치이다. 나는 만족한다. –

답변

1

그런 식으로 계산할 수있는 방법이 많이 있으며, 계산에 사용하는 규칙에 따라 다양한 결과가 표시됩니다. 13.48에서

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

이상의 결과 :

다음 방법은 두 날짜 사이의 주어진 기간 동안 올해의 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