Re: Casting numeric values to double

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Daniel Schregenberger <npfdd(at)gmx(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Casting numeric values to double
Date: 2005-10-03 15:44:11
Message-ID: 20051003154406.GC15212@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Oct 03, 2005 at 03:31:42PM +0200, Daniel Schregenberger wrote:
> Hi,
>
> I recently stumbled uppon the following thing:
> If I compare a field of type "numeric" to a small decimal constant like
> "3.6", the constant is interpreted as a "double precision" value and the
> comparison fails with the following message:
>
> # SELECT * FROM tr_table_okpx WHERE prating >= 3.6;
>
> Unable to identify an operator '>=' for types 'double precision' and
> 'numeric'
> You will have to retype this query using an explicit cast

If at all possible, can the queries be arranged to output single quotes
around the numbers? If you do that, the choice of type will be deferred
until the point where it knows what "prating" is.

> I'm using Postgre 7.2, which might be a bit outdated but I could not find
> any information whether this behaviour has changed in newer versions. So

Yeah, it's better in later versions. Either explicitly typing (with
::numeric) or explicitly untyping (with single quotes) will work.
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message J B 2005-10-03 17:55:52 Integration with MS Sql Server
Previous Message Nirmalya Lahiri 2005-10-03 14:55:54 Re: Broken pipe