Skip site navigation (1) Skip section navigation (2)

Re: [GENERAL] Converting seconds past midnight to a time

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: "Karl O(dot) Pinc" <kop(at)meme(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-documentation <pgsql-docs(at)postgresql(dot)org>
Subject: Re: [GENERAL] Converting seconds past midnight to a time
Date: 2005-12-22 03:57:47
Message-ID: 200512220357.jBM3vl418749@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-docs
Karl O. Pinc wrote:
> 
> On 12/21/2005 10:04:34 AM, Bruce Momjian wrote:
> 
> > I have applied the following documentation patch to HEAD and 8.1.X.
> 
> Thanks.  If only I pay attention when reading the documentation
> that will help tremendously. :-)

The previous example was just 3.5 * '1 hour'.  I think we need to add
some simpler ones that used other units, so that is done.

> > I also fixed an example '1 day' - '1 hour' which now computes
> > differently
> 
> >  <row>
> >   <entry> <literal>-</literal> </entry>
> >   <entry><literal>interval '1 day' - interval '1 hour'</literal></  
> > entry>
> > -  <entry><literal>interval '23:00'</literal></entry>
> > +  <entry><literal>interval '1 day -01:00:00'</literal></entry>
> > </row>
> 
> I'm sure you've thought of this so if all is well
> in Postgres land please don't bother to write
> but I figured I'd write anyway.
> 
> I find this a little spooky.  Is
>   interval '1 day' - interval '1 hour'
>    = double precision 23 * interval '1 hour'
> ?

Right, that was wrong.  The new documentation is correct:

	test=> select interval '1 day' - interval '1 hour';
	    ?column?
	-----------------
	 1 day -01:00:00
	(1 row)

The issue is that we don't know if that day was 24 hours or 24 +/- 1
hour.

> If so, do they have the same external (string) representation?
> It'd be wierd to have one value with two external
> representations.  It'd also be wierd the other way,
> to have two different internal values that for all
> purposes other than equality are the same.

We have buckets for seconds, days, and months, and justification
functions to convert up.

> Anyhow, I just took a little time looking at the
> on-line docs for 8.1 and it does not seem to have a
> lot to say about the canonical external interval
> representation other than:
> 
>   In ISO mode the output looks like
> [ quantity unit [ ... ] ] [ days ] [ hours:minutes:seconds ]
> 
> This does not seem to be the interval representation
> appearing in the example in the patch.

Uh, units could be 'days', etc.

> 
> (psql-patches not cc-ed.  OT?)

Yep, docs list added.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-docs by date

Next:From: Bruce MomjianDate: 2005-12-22 21:49:53
Subject: Re: [GENERAL] Converting seconds past midnight to a time
Previous:From: Jim C. NasbyDate: 2005-12-19 21:55:38
Subject: Re: [Pgsqlrpms-hackers] Re: DBlink documentation

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group