SQL - Abrunden auf 2 Dezimalstellen

Ich muss Minuten in Stunden konvertieren, gerundet auf 2 Dezimalstellen, und ich muss auch nur bis zu 2 Zahlen nach dem Komma anzeigen. Wenn ich also die Minuten als 650.Then Stunden sollte 10.83 sein

Hier's was ich bisher habe:

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

Aber in diesem Fall, wenn meine Minuten, sagen wir, 630 sind, sind die Stunden 10.5000000. Ich möchte aber, dass es nur 10,50 ist (nach Rundung). Wie kann ich das erreichen?

Lösung

Könnten Sie Ihr Ergebnis nicht als numeric(x,2) ausgeben? Wobei `x

Kommentare (6)

Wie bei SQL Server 2012 können Sie die integrierte Formatfunktion verwenden:

SELECT FORMAT(Minutes/60.0, 'N2')

(nur für weitere Lektüre...)

Kommentare (4)

Der folgende Ausschnitt könnte Ihnen helfen:

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