Re: [GENERAL] Converting seconds past midnight to a time - Mailing list pgsql-docs

From Bruce Momjian
Subject Re: [GENERAL] Converting seconds past midnight to a time
Date
Msg-id 200512220357.jBM3vl418749@candle.pha.pa.us
Whole thread Raw
List 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@candle.pha.pa.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:

Previous
From: "Luiz K. Matsumura"
Date:
Subject: Pl/pgSQL documentation
Next
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] Converting seconds past midnight to a time