pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: chrisj <chrisj.wood@sympatico.ca>
To: pgsql-sql@postgresql.org
Subject: Re: Assigning a timestamp without timezone to a timestamp
Date: Tue, 17 Oct 2006 13:42:17 -0700 (PDT)
Message-ID: <6863766.post@talk.nabble.com> (raw)
In-Reply-To: <16546.1161092042@sss.pgh.pa.us>
References: <6613652.post@talk.nabble.com>
	<20061003135623.GB3191@phlogiston.dyndns.org>
	<6621346.post@talk.nabble.com>
	<20061003145134.GA3399@phlogiston.dyndns.org>
	<8C5B026B51B6854CBE88121DBF097A864DE848@ehost010-33.exch010.intermedia.net>
	<20061005183128.GD8826@phlogiston.dyndns.org>
	<6667446.post@talk.nabble.com>
	<20061005203121.GI8826@phlogiston.dyndns.org>
	<6815181.post@talk.nabble.com>
	<13338.1160868392@sss.pgh.pa.us>
	<6827636.post@talk.nabble.com>
	<7622.1160969464@sss.pgh.pa.us>
	<6847852.post@talk.nabble.com>
	<16546.1161092042@sss.pgh.pa.us>


Hi Tom,

Thanks again, I did not appreciate the dual function of "AT TIME ZONE"  when
the input is timestamptz then the function converts from one timezone to
another (not what I wanted),

but when the input is timestamp the function acts more like a cast than a
convert (exactly what I wanted)

I must disagree with your assertion about the redundancy of:
>   , cast(start_datetime as timestamp(0) without time zone)::timestamp at
> time zone B.timezone_ch
 
what I am doing is taking a timestamptz, discarding its timezone, and then
casting it to another timezone

for example from  2006-10-03 09:00:00 NZST  to  2006-10-03 09:00:00 EST5EDT

If I am missing a much easier way to accomplish this please let me know.


Tom Lane-2 wrote:
> 
> chrisj <chrisj.wood@sympatico.ca> writes:
>> When I first saw your solution I thought it was logically going to do
>> (notice the parentheses):
>>     select ('2006-07-13 09:20:00'::timestamp) at time zone 'EST5EDT';  
>> which does not help
> 
> Well, actually, that's exactly what it does.  AT TIME ZONE is an
> operator that converts timestamp without time zone to timestamp with
> time zone (or vice versa).  I guess you could easily get confused
> here, but AT is not WITH.
> 
>>   , cast(start_datetime as timestamp(0) without time zone)::timestamp at
>> time zone B.timezone_ch
> 
> That's redundant --- you're casting the result of the cast to timestamp
> (implicitly without time zone), then applying the AT TIME ZONE operator.
> 
> 			regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
> 
>                http://archives.postgresql.org
> 
> 

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




view thread (24+ messages)

Message-ID: <6863766.post@talk.nabble.com>
Permalink:  ../6863766.post@talk.nabble.com/
Also on:    postgresql.org/message-id/6863766.post@talk.nabble.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: chrisj.wood@sympatico.ca
  Subject: Re: Assigning a timestamp without timezone to a timestamp
  In-Reply-To: <6863766.post@talk.nabble.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox