PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 08/02/2012 20:58:50

drouault.p
Membre

Type le résultat d'un calcul dans une clause select

Bonsoir

Je cherche à typer le résultat retourner par postgres lors d'une multiplication entre deux colonnes. J'ai simplifié la requête que j'utilise ci dessous :

select datepose + ((dureelamp / nbheurefoncannuel) * 365) from ma_table.

Ce qui ne va pas , c'est que si dureelamp a pour valeur 12000 heures et nbheurefoncannuel 4065, postgres me type le résultat en integer et non en numeric( du coup au lieu de 2.85, il me renvoit 2). Lorsque je ramène jour, la différence se fait plutot sentir.

J'ai chercher mais pas trouver une fonction qui me permettrait de dire à postgres de stocker le résultat de ce premier calcul dans un numeric et non dans un integer. Du style numeric (dureelamp / nbheurefoncannuel).

Est ce que l'un d'entre vous aurait ça en stock ?

Merci d'avance

Pierre

Hors ligne

#2 09/02/2012 00:15:28

gleu
Administrateur

Re : Type le résultat d'un calcul dans une clause select

Il suffit de transformer un seul de ces éléments en numeric pour que ça fonctionne à priori. Donc par exemple :

select datepose + ((dureelamp::numeric / nbheurefoncannuel) * 365) from ma_table

Guillaume.

Hors ligne

#3 12/02/2012 12:24:24

drouault.p
Membre

Re : Type le résultat d'un calcul dans une clause select

Exact ça fonctionne (tout bêtement j'ai envie de dire), merci beaucoup !

Pierre

Hors ligne

Pied de page des forums