SQL - Avrunding til to desimaler

Jeg må konvertere minutter til timer, avrundet til 2 desimaler, og jeg må også bare vise opptil 2 tall etter desimaltegnet. Så hvis jeg har minutter som 650, skal timer være 10,83.

Her er det jeg har så langt:

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

Men i dette tilfellet, hvis minuttene mine er, la oss si, 630 - timer er 10.5000000. Men jeg vil at det bare skal være 10,50 (etter avrunding). Hvordan oppnår jeg dette?

Løsning

Kan du ikke kaste resultatet ditt som numerisk(x,2)? Hvor `x

Kommentarer (6)

Som med SQL Server 2012 kan du bruke den innebygde format-funksjonen:

SELECT FORMAT(Minutes/60.0, 'N2')

(bare for videre lesing...)

Kommentarer (4)

Følgende utdrag kan kanskje hjelpe deg:

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
Kommentarer (1)