From: | Jean-Samuel Reynaud <reynaud(at)elma(dot)fr> |
---|---|
To: | philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be> |
Cc: | postgresql <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Problème de typage . |
Date: | 2008-09-22 10:01:13 |
Message-ID: | 20080922120113.17da7399@reynaud-dell |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
Tente plutôt:
vC := (vA * 100 )/ vB::numeric(4,2)
Mais bon ton numeric 4,2 est à mon avis un peu juste dans bien des
cas... Tu auras alors une erreur type:
ERROR: numeric field overflow
Le Mon, 22 Sep 2008 10:45:26 +0200,
philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be> a écrit :
> Bonjour à toutes et tous,
>
> petit problème de typage :
>
> soit une table contenant les champs :
> A integer
> B integer
> C numeric(4,2)
>
> Les champs A & B sont regulierement updatés et le champ C doit
> contenir le résultat d'une fonction lancée via un trigger update.
>
> Cette fonction contient les variables :
> vA integer
> vB integer
> vC numeric(4,2)
>
> Le calcul, très simple, consiste en :
> vC := (( vA / vB ) ) * 100;
>
> On enregistre ensuite le resultat :
> NEW.C := vC;
>
> Et le resultat est toujours 0, sauf lorsque ce resultat est un nombre
> entier.
>
> Comment faire pour recueillir ce resultat sous la forme d'un
> numeric(4,2) ?
>
> C'est sans doute trèc con, mais j'ai cherché dans le manuel ce
> week-end et n'ai rien trouvé.
>
> Une piste?
>
> Merci d'avance.
>
>
>
>
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Ludovic Levesque | 2008-09-22 10:03:40 | Re: Problème de typage . |
Previous Message | damien clochard | 2008-09-22 09:57:35 | Pgday.fr : dernières places disponibles |