From: | philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be> |
---|---|
To: | Jean-Samuel Reynaud <reynaud(at)elma(dot)fr> |
Cc: | postgresql <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Problème de typage . |
Date: | 2008-09-22 13:14:53 |
Message-ID: | 1222089293.10851.0.camel@ibm1 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
et merci, c'est exactement ce que je cherchais
@+
Le lundi 22 septembre 2008 à 12:01 +0200, Jean-Samuel Reynaud a écrit :
> 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 | philippe dhondt | 2008-09-23 12:50:38 | Problème de concatenation |
Previous Message | Ludovic Levesque | 2008-09-22 10:03:40 | Re: Problème de typage . |