276 votes

SQL - Arrondir à 2 décimales

Je dois convertir les minutes en heures, arrondies à 2 décimales.J'ai également besoin d'afficher uniquement 2 chiffres après le signe décimal. Donc, si j’ai des minutes à 650. Les heures devraient être de 10,83.

Voici ce que j'ai jusqu'à présent:

 Select round(Minutes/60.0,2) from ....
 

Mais dans ce cas, si mes minutes sont, disons, 630 heures, 10,5000000. Mais je le veux à 10,50 seulement (après avoir arrondi). Comment est-ce que je réalise ceci?

458voto

u07ch Points 5303

Ne pourriez-vous pas convertir votre résultat sous la forme numeric(x,2) ? Où x <= 38

 select 
    round(630/60.0,2), 
    cast(round(630/60.0,2) as numeric(36,2))
 

Résultats

 10.500000   10.50
 

100voto

Matten Points 9394

Comme avec SQL Server 2012, vous pouvez utiliser la fonction de format intégrée :

 SELECT FORMAT(Minutes/60.0, 'N2')
 

(juste pour d'autres lectures ...)

36voto

user193061 Points 71
Vous pouvez utiliser

3voto

Fonctionne à la fois avec postgresql et Oracle

 SELECT ename, sal, round(((sal * .15 + comm) /12),2) 
FROM emp where job = 'SALESMAN' 
 

1voto

Venkat Points 11

L'extrait suivant pourrait vous aider:

 select SUBSTR(ENDDTTM,1, 9), extract(DAY FROM (ENDDTTM)), ENDDTTM, BEGINDTTM,  (ENDDTTM - BEGINDTTM),substr(BEGINDTTM, 1,15), substr((ENDDTTM - BEGINDTTM), 12, 8),
round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 3600 + substr((ENDDTTM - BEGINDTTM), 15, 2)*60 +  substr((ENDDTTM - BEGINDTTM), 18, 2)),2) as seconds,
round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 60 + substr((ENDDTTM - BEGINDTTM), 15, 2) +  substr((ENDDTTM - BEGINDTTM), 18, 2)/60 ), 2)as minutes,
round((substr((ENDDTTM - BEGINDTTM), 12, 2) + substr((ENDDTTM - BEGINDTTM), 15, 2)/60 +  substr((ENDDTTM - BEGINDTTM), 18, 2)/3600 ),2)  as hours
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X