2017-03-10 8 views
0

Ich brauche Hilfe bei der Berechnung, wie ich eine Zahl mit 1 Dezimalstelle ausgeben kann. Hier ist die Codezeile ich zur Zeit mit:Runden auf 1 Dezimalstelle in SQL-Server

(cast(round((p.NewHouseHoldsEnrolled + p.ContinuingHouseholds),1) as numeric(38,0)) /p.MaximumServiceCapacity) * 100 as 'Capacity Percentage' 

Ein Beispiel Nummer, die ich verwenden, dies bekommen ist 67,500000 aber ich brauche 67,5

ich auch BigInts bin mit

Antwort

0

Sie benötigen eine äußere Besetzung, um es so zu machen, wie du es momentan bist.

cast((cast(round((p.NewHouseHoldsEnrolled + p.ContinuingHouseholds),1) as numeric(38,0)) /p.MaximumServiceCapacity) * 100) as numeric(38,1) as 'Capacity Percentage' 

Alternativ könnten Sie es wie so

cast(round((p.NewHouseHoldsEnrolled + p.ContinuingHouseholds),1)/p.MaximumServiceCapacity * 100 as numeric(38, 1)) as 'Capacity Percentage' 

Bewertung this article Weitere Informationen zum Umfang und presicion aufzuräumen.

+0

Wissen Sie, wie man auf die nächste 1. Dezimalstelle aufrundet? Denn jetzt bin ich in 67,0 und nicht 67,5 – Brian

+0

NVM Ich habe es! Musste mit 100.0 und nicht mit 100 multiplizieren. Danke! – Brian