Re: Assigning a timestamp without timezone to a timestamp - Mailing list pgsql-sql
From | chrisj |
---|---|
Subject | Re: Assigning a timestamp without timezone to a timestamp |
Date | |
Msg-id | 6667349.post@talk.nabble.com Whole thread Raw |
In response to | Re: Assigning a timestamp without timezone to a timestamp ("Hector Villarreal" <HVillarreal@mynewplace.com>) |
Responses |
Re: Assigning a timestamp without timezone to a timestamp
|
List | 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@postgresql.org > [mailto:pgsql-sql-owner@postgresql.org] On Behalf Of Andrew Sullivan > Sent: Tuesday, October 03, 2006 7:52 AM > To: chrisj > Cc: pgsql-sql@postgresql.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@crankycanuck.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.