SQL - Στρογγυλοποίηση σε 2 δεκαδικά ψηφία

Πρέπει να μετατρέψω τα λεπτά σε ώρες, στρογγυλοποιημένα σε 2 δεκαδικά ψηφία.Πρέπει επίσης να εμφανίσω μόνο μέχρι 2 αριθμούς μετά το δεκαδικό σημείο. Έτσι, αν έχω λεπτά ως 650.Then ώρες θα πρέπει να είναι 10.83

Να τι έχω μέχρι στιγμής:

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

Αλλά σε αυτή την περίπτωση, αν τα λεπτά μου είναι, ας πούμε,630 - οι ώρες είναι 10.5000000. Αλλά το θέλω μόνο ως 10,50(μετά από στρογγυλοποίηση). Πώς μπορώ να το επιτύχω αυτό;

Λύση

Δεν θα μπορούσατε να μετατρέψετε το αποτέλεσμά σας σε numeric(x,2); Όπου `x

Σχόλια (6)

Όπως και με τον SQL Server 2012, μπορείτε να χρησιμοποιήσετε την ενσωματωμένη συνάρτηση format:

SELECT FORMAT(Minutes/60.0, 'N2')

(μόνο για περαιτέρω ανάγνωση...)

Σχόλια (4)

Το παρακάτω απόσπασμα μπορεί να σας βοηθήσει:

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
Σχόλια (1)