Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 45401475AFA for ; Mon, 4 Nov 2002 03:11:22 -0500 (EST) Received: from technovell.com (213-97-10-232.uc.nombres.ttd.es [213.97.10.232]) by postgresql.org (Postfix) with ESMTP id 43FDC475A7F for ; Mon, 4 Nov 2002 03:11:21 -0500 (EST) Received: from technovell.com pgsql@technovell.com [195.55.249.227] by technovell.com with Novell NIMS $Revision: 2.88.1.1 $ on Linux; Mon, 04 Nov 2002 09:10:54 +0100 Message-ID: <3DC62BB2.72FC66C8@technovell.com> Date: Mon, 04 Nov 2002 09:11:30 +0100 From: Terry Yapt X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: pgsql-sql@postgresql.org Subject: Comparing Numeric and Double Precision (float8).. Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200211/42 X-Sequence-Number: 10184 Hello all, i DON'T know what is the proper forum to throw this question and I must to insist in this "feature". Sorry. I have a lot of tables from Oracle 8i Databases with a lot of columns with numeric(x,0) definition. Ok.. I am traslating my oracle tables to PostgreSQL tables. But I am having a serious problem with my client aplications. When I compare a numeric(x,0) field with a float8 field I have an error on PostgreSQL what I didn't have with Oracle. I mean: CREATE test (one numeric(2,0)); SELECT * FROM test WHERE one = 1.00000; This runs fine on my Oracle Systems.. but I have problems with my PostgreSQL system. I have tried to create an operator to workaround this inconvenience: numeric '=' float8 with CREATE OPERATOR command and calling to a function to return a boolean. Ok.. great.. It is running now. But when it runs.. I have another problems comparing numeric with integers and so on. So I must to DROP OPERATOR...... I don't understand what is the problem and what options I have to workaround it (without re-write a lot of client applications). I have a lot of code I don't want to modify. The question is: Why we cannot compare numeric with double precision ? And why Oracle or SQL can do it without problems ? Thanks a lot.