Skip site navigation (1) Skip section navigation (2)

Re: Problème de typage .

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 (view raw or flat)
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.
> 
> 
> 
> 
> 
> 
> 
> 

In response to

Responses

pgsql-fr-generale by date

Next:From: Ludovic LevesqueDate: 2008-09-22 10:03:40
Subject: Re: Problème de typage .
Previous:From: damien clochardDate: 2008-09-22 09:57:35
Subject: Pgday.fr : dernières places disponibles

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group