Re: Converting a timestamp to a time

From: Mark Morgan Lloyd <markMLl(dot)pgsql-general(at)telemetry(dot)co(dot)uk>
To: pgsql-general(at)PostgreSQL(dot)org
Subject: Re: Converting a timestamp to a time
Date: 2006-11-05 12:29:33
Message-ID: 454DD92D.B18CAF62@telemetry.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Andreas Kretschmer schrieb:
>
> Mark Morgan Lloyd <markMLl(dot)pgsql-general(at)telemetry(dot)co(dot)uk> wrote:
> > What is the correct (or even any :-) way of converting a timestamp into a
> > time (without timezone etc.)?
>
> You can CAST it:
>
> test=# select now();
> now
> -------------------------------
> 2006-11-05 11:16:05.205235+01
> (1 row)
>
> test=# select now()::time;
> now
> ----------------
> 11:16:18.22527
> (1 row)

Thanks Andreas, I've ended up using CAST( ... AS TIME). I think the :: notation
might be fragile in this instance because of the machine-generated SQL which
gets a bit hairy in places.

I've also had to replace INTERVAL() with CAST( ... INTERVAL) wherever it occurs
and replace the result of a function with TIMESTAMP WITH TIME ZONE... hopefully
that won't mess anything up, the server is aggresively GMT since we have to deal
with several timezones simultaneously and it's the only way I could work it.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Kretschmer 2006-11-05 12:54:54 Re: Converting a timestamp to a time
Previous Message Andreas Kretschmer 2006-11-05 11:47:10 Re: max_fsm_pages