SQL - 2 ondalık basamağa yuvarlama

Dakikaları 2 ondalık basamağa yuvarlayarak saate dönüştürmem gerekiyor. Ayrıca ondalık noktadan sonra yalnızca 2 sayıya kadar görüntülemem gerekiyor. Yani dakikalarım 650 ise, saatler 10,83 olmalıdır.

Şu ana kadar elimde olanlar şunlar:

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

Ancak bu durumda, dakikalarım diyelim ki 630 ise - saatler 10.5000000'dir. Ama ben sadece 10.50 olarak istiyorum (yuvarlamadan sonra). Bunu nasıl başarabilirim?

Çözüm

Sonucunuzu numeric(x,2) olarak atamaz mıydınız? Burada `x

Yorumlar (6)

SQL Server 2012'de olduğu gibi, yerleşik biçim işlevi kullanabilirsiniz:

SELECT FORMAT(Minutes/60.0, 'N2')

(sadece daha fazla okuma için...)

Yorumlar (4)

Aşağıdaki kod parçası size yardımcı olabilir:

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