Re: ERROR: cannot cast type real to money

Lists: pgsql-fr-generale
From: Benoît Barbier <benoit(dot)br(at)skynet(dot)be>
To: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: ERROR: cannot cast type real to money
Date: 2005-01-06 11:44:08
Message-ID: 20050106124408.1afc5e45@venus
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Bonjour à tous!

Je ne parviens pas à mettre une colonne de prix de type real dans une autre
de type money.
J'ai fait un test
UPDATE table1 SET prix = prix + cast(table2.realprix AS money) where
id_table1 = table2.id_table2 ;
ERROR: cannot cast type real to money

Quelqu'un à une idée?

Merci d'avance

Benoît


From: Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk>
To: Benoît Barbier <benoit(dot)br(at)skynet(dot)be>
Cc: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: ERROR: cannot cast type real to money
Date: 2005-01-06 19:04:41
Message-ID: 20050106190441.GM15522@quartz.newn.cam.ac.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

On Thu, Jan 06, 2005 at 12:44:08PM +0100, Benoît Barbier wrote:
> Bonjour à tous!
>
>
> Je ne parviens pas à mettre une colonne de prix de type real dans une autre
> de type money.
> J'ai fait un test
> UPDATE table1 SET prix = prix + cast(table2.realprix AS money) where
> id_table1 = table2.id_table2 ;
> ERROR: cannot cast type real to money
>
> Quelqu'un à une idée?

J'avais l'impression que money etait plutot comme un entier avec une
virgule, et qu'il n'y avait pas vraiment des fonctions de conversion.
Il me semble qu'il vaut mieux utiliser NUMERIC que MONEY de toute maniere,
car il a plus de fonctions de conversion, et on sait mieux comment les
valeurs sont arondies.

Patrick


From: Benoît Barbier <benoit(dot)br(at)skynet(dot)be>
To: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: ERROR: cannot cast type real to money
Date: 2005-01-07 10:40:05
Message-ID: 20050107114005.730eaa4c@venus
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

On Thu, 6 Jan 2005 19:04:41 +0000
Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk> wrote:

> On Thu, Jan 06, 2005 at 12:44:08PM +0100, Benoît Barbier wrote:
> > Bonjour à tous!
> >
> >
> > Je ne parviens pas à mettre une colonne de prix de type real dans une
> > autre de type money.
> > J'ai fait un test
> > UPDATE table1 SET prix = prix + cast(table2.realprix AS money) where
> > id_table1 = table2.id_table2 ;
> > ERROR: cannot cast type real to money
> >
> > Quelqu'un à une idée?
>
> J'avais l'impression que money etait plutot comme un entier avec une
> virgule, et qu'il n'y avait pas vraiment des fonctions de conversion.
> Il me semble qu'il vaut mieux utiliser NUMERIC que MONEY de toute maniere,
> car il a plus de fonctions de conversion, et on sait mieux comment les
> valeurs sont arondies.

Merci pour ce conseil, J'ai utilisé le type NUMERIC en suivant les
instructions suivantes :
****
http://www.postgresql.org/files/documentation/faqs/FAQ.html

To change the data type of a column, do this:
*****
Mon problème est résolut et les importations de données se sont bien passées!
:-)

Un autre membre de cette liste m'a écrit en privé pour me signaler que le type
MONEY est obsolète.
Cf.
http://traduc.postgresqlfr.org/pgsql-fr/datatype-money.html

Encore merci à vous deux!

--
Benoît