On Sat, Aug  2, 2014 at 11:53:06PM -0700, Mike Swanson wrote:
> On Fri, 2014-08-01 at 22:28 -0700, Mike Swanson wrote:
> > I'd also argue that the current function basing the logic from
> > definition #2 has limited use even when you want to use it for such.
> > If you want to generate text for '(decades)s' you'd have to do:
> >   SELECT extract('year' from date_trunc('decade', now())) || 's';
> > Or with my patch:
> >   SELECT floor(extract('year' from now()) / 10) || '0s';
> > It's different, for sure, but I would actually think the second one is
> > a bit less awkward.  Plus it's shorter :)
> 
> I'm responding to myself because I realized that what I wrote was a bit
> silly.  The first and current example (which is invalidated by my patch)
> should really be:
>   SELECT extract('decade' from now()) || '0s';
> which makes it the shorter and simpler version of the two.  I'll still
> stand by my opinion that it's not an extremely useful function as it is.

Well, you can make the argument that since the 20th century is from 1901
to 2000, that decades should be from *01 to *00.  However, those
centuries are ordinal, e.g. using "th", while decades are not.  The
decade is more a short-hand, rather than something that counts from year
1 like centuries.  Looking at decades as an abbreviation supports our
current behavior.

I don't think 99% of people know there was no year 0, so I don't think
you can base a lot on that.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to