Clarify age() 'months' calculation documentation.
authorBruce Momjian <bruce@momjian.us>
Fri, 14 Sep 2007 00:52:45 +0000 (00:52 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 14 Sep 2007 00:52:45 +0000 (00:52 +0000)
doc/src/sgml/func.sgml

index 214e66f7fd6ee96d9c52555b41c883c801982b81..f63c91dff23090dd62e1648b58d78668382cfb3b 100644 (file)
@@ -5906,14 +5906,13 @@ SELECT (DATE '2001-02-16', INTERVAL '100 days') OVERLAPS
   </para>
 
   <para>
-   Note that when the <function>age</> function operates on multi-month
-   intervals, <productname>PostgreSQL</> adds days to the earlier date
-   until full months can be added.  This yields a different result than
-   adding full months first if the interval crosses from one month to the
-   next.  For example, <literal>age('2004-06-01', '2004-04-30')</> yeilds
-   <literal>1 mon 1 day</> using the <productname>PostgreSQL</> method,
-   while adding the month first would yield <literal>1 mon 2 days</>
-   because May has 31 days, while April has only 30.
+   Note there can be ambiguity in the <literal>months</> returned by
+   <function>age</> because different months have a different number of
+   days.  <productname>PostgreSQL</>'s approach uses the month from the
+   earlier of the two dates when calculating partial months.  For example,
+   <literal>age('2004-06-01', '2004-04-30')</> uses April to yield
+   <literal>1 mon 1 day</>, while using May would yield <literal>1 mon 2
+   days</> because May has 31 days, while April has only 30.
   </para>
 
   <sect2 id="functions-datetime-extract">