SQL - Zaokrąglanie do 2 miejsc po przecinku

Muszę przekonwertować minuty na godziny, zaokrąglone do 2 miejsc po przecinku. Muszę również wyświetlić tylko do 2 liczb po przecinku. Więc jeśli mam minuty jako 650.Then godziny powinny być 10.83

Oto, co mam do tej pory:

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

Ale w tym przypadku, jeśli moje minuty to, powiedzmy, 630 - godziny to 10.5000000. Ale chcę, żeby to było tylko 10,50 (po zaokrągleniu). Jak to osiągnąć?

Rozwiązanie

Czy nie mógłbyś rzucić swojego wyniku jako numeric(x,2)? Gdzie `x

Komentarze (6)

Podobnie jak w przypadku SQL Server 2012, możesz użyć wbudowanej funkcji format function:

SELECT FORMAT(Minutes/60.0, 'N2')

(tylko do dalszej lektury...)

Komentarze (4)

Poniższy fragment może Ci pomóc:

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