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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-docs by date

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