Improve documentation of EXTRACT(WEEK).

The docs showed that early-January dates can be considered part of the
previous year for week-counting purposes, but failed to say explicitly
that late-December dates can also be considered part of the next year.
Fix that, and add a cross-reference to the "isoyear" field.  Per bug
#7967 from Pawel Kobylak.
REL8_4_STABLE
Tom Lane 13 years ago
parent f85e3f3762
commit 8c54115cbb
  1. 23
      doc/src/sgml/func.sgml

@ -6471,16 +6471,19 @@ SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');
<listitem> <listitem>
<para> <para>
The number of the week of the year that the day is in. By definition The number of the week of the year that the day is in. By definition
(<acronym>ISO</acronym> 8601), the first week of a year (<acronym>ISO</acronym> 8601), weeks start on Mondays and the first
contains January 4 of that year. (The <acronym>ISO</acronym>-8601 week of a year contains January 4 of that year. In other words, the
week starts on Monday.) In other words, the first Thursday of first Thursday of a year is in week 1 of that year.
a year is in week 1 of that year. </para>
</para> <para>
<para> In the ISO definition, it is possible for early-January dates to be
Because of this, it is possible for early January dates to be part of the part of the 52nd or 53rd week of the previous year, and for
52nd or 53rd week of the previous year. For example, <literal>2005-01-01</> late-December dates to be part of the first week of the next year.
is part of the 53rd week of year 2004, and <literal>2006-01-01</> is part of For example, <literal>2005-01-01</> is part of the 53rd week of year
the 52nd week of year 2005. 2004, and <literal>2006-01-01</> is part of the 52nd week of year
2005, while <literal>2012-12-31</> is part of the first week of 2013.
It's recommended to use the <literal>isoyear</> field together with
<literal>week</> to get consistent results.
</para> </para>
<screen> <screen>

Loading…
Cancel
Save