X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (neptune.hub.org [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 46723D1D2C7 for ; Wed, 28 Jan 2004 07:03:34 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 46781-03 for ; Wed, 28 Jan 2004 03:03:04 -0400 (AST) Received: from smartdatainc.com (s224.n22.vds2000.com [66.84.22.224]) by svr1.postgresql.org (Postfix) with ESMTP id 7860CD1D549 for ; Wed, 28 Jan 2004 03:03:02 -0400 (AST) Received: from raman ([203.129.220.82]) by smartdatainc.com (8.12.9/8.11.0) with SMTP id i0S6DmRM010785; Wed, 28 Jan 2004 01:13:51 -0500 X-Authentication-Warning: smartdatainc.com: smartdat owned process doing -bs Message-ID: <008c01c3e565$7c2baac0$d4c7a8c0@raman> From: "Raman Garg" To: "Tom Lane" Cc: References: <003c01c3e55e$54b12d50$d4c7a8c0@raman> <8028.1075269512@sss.pgh.pa.us> Subject: Re: Query TIME ZONE Date: Wed, 28 Jan 2004 11:39:23 +0530 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200401/230 X-Sequence-Number: 16623 Thanks Tom it worked for me... yes I got it wrong.. thanks for the correction. thanks a lot.. -- Raman ----- Original Message ----- From: "Tom Lane" To: "Raman" Cc: Sent: Wednesday, January 28, 2004 11:28 AM Subject: Re: [SQL] Query TIME ZONE > "Raman" writes: > > [ okay: ] > > "select current_time AT TIME ZONE INTERVAL '+5:30'" > > [ not okay: ] > > "select current_time AT TIME ZONE INTERVAL time_difference from customer_events" > > "TIME ZONE INTERVAL" is not a SQL construct. You have misunderstood the > interaction of two different SQL constructs: > timestamp AT TIME ZONE timezonespec > INTERVAL 'interval-literal' > One of the possible forms of "timezonespec" in the AT TIME ZONE operator > is an interval value, so your first example works fine. Your second > example does not work because the INTERVAL 'foo' construct is only for > simple literal constants. > > > here : time_difference - is my varchar column in the table customer_events. > > Why are you using varchar rather than an interval column? An interval > value would work directly in this construct and would provide some > checking that entered values are sane. > > If you are absolutely intent on using varchar as the column datatype, > you can do a run-time cast like this: > select current_time AT TIME ZONE "interval"(time_difference) from customer_events > but don't complain when the query fails because some rows contain > time_difference strings that don't look like legal interval values... > > regards, tom lane >