Re: Assigning a timestamp without timezone to a timestamp

From: chrisj <chrisj(dot)wood(at)sympatico(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Assigning a timestamp without timezone to a timestamp
Date: 2006-10-05 20:01:37
Message-ID: 6667349.post@talk.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


Hi Hector,

It would probably better to get the explanation from Andrew, but I will do
the best I can.

You asked about the 1 and -3. The 1 would be the store number in my
original scenario and -3 would be the representation of the timezone (three
hours behind Universal Coordinate Time).

I still have not had a chance to implement the solution into my application,
but I am assuming the -3 could also be a mnemonic such as "EDT" I live in
Toronto EDT is Eastern Daylight-savings Time.

As for the syntax of the select, it is simply casting a character
representation of a timestamp concatenated with a character representation
of timezone to timestamptz.

In hindsight it is so simple I can't believe I could not come up with it
myself.

Hector Villarreal wrote:
>
> Hi
> I am also interested in this type of setup. However, in the example
> below
> I am a little confused as to why the table entry is 1, -3
> And the subsequent select statement . I would appreciate an explanation
> on the select statement. I do not understand the syntax.
> Thanks in advance
> Hector Villarreal
> SELECT a.timestamp::timestamptz from (SELECT '2006-10-03
> 09:00'||"timezone" as timestamp from storetz where id = 1) as a;
> timestamp
>
> -----Original Message-----
> From: pgsql-sql-owner(at)postgresql(dot)org
> [mailto:pgsql-sql-owner(at)postgresql(dot)org] On Behalf Of Andrew Sullivan
> Sent: Tuesday, October 03, 2006 7:52 AM
> To: chrisj
> Cc: pgsql-sql(at)postgresql(dot)org
> Subject: Re: [SQL] Assigning a timestamp without timezone to a timestamp
>
> On Tue, Oct 03, 2006 at 07:26:52AM -0700, chrisj wrote:
>> location, but they are the directive to all store locations saying:
> "In the
>> context of the timezone your store is located in, these are the hours
> you
>> should be open.
>
> Ah. Well, then, right, it _does_ have to be timezone free. That's
> actually the only case I'd use that. Sorry, I'm dim, and didn't
> understand properly what you were doing. (I read the "relative to
> the store's own time zone" to refer to the corporate office. No, I
> don't know why, either. Told you I'm dim.)
>
> Anyway, here's something that worked for me (expanding this into your
> case ought not to be too tricky):
>
> testing=# SELECT * from storetz ;
> id | timezone
> ----+----------
> 1 | -03
> (1 row)
>
> testing=# SELECT a.timestamp::timestamptz from (SELECT '2006-10-03
> 09:00'||"timezone" as timestamp from storetz where id = 1) as a;
> timestamp
> ------------------------
> 2006-10-03 12:00:00+00
> (1 row)
>
> A
> --
> Andrew Sullivan | ajs(at)crankycanuck(dot)ca
> When my information changes, I alter my conclusions. What do you do
> sir?
> --attr. John Maynard Keynes
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
>

--
View this message in context: http://www.nabble.com/Assigning-a-timestamp-without-timezone-to-a-timestamp-with-timezone-tf2373845.html#a6667349
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message chrisj 2006-10-05 20:06:00 Re: Assigning a timestamp without timezone to a timestamp
Previous Message Tom Lane 2006-10-05 19:20:59 Re: Postgresql quey planner