Ich muss Minuten in Stunden umrechnen, auf 2 Dezimalstellen gerundet. Außerdem muss ich nur bis zu 2 Zahlen nach dem Dezimalpunkt anzeigen. Also, wenn ich Minuten als 650 habe. Dann sollten die Stunden 10,83 sein
Folgendes habe ich bisher:
Select round(Minutes/60.0,2) from ....
Aber in diesem Fall, wenn meine Minuten beispielsweise 630 - Stunden sind, ist 10.5000000. Aber ich möchte es nur als 10.50 (nach dem Runden). Wie erreiche ich das?
Antworten:
Könnten Sie Ihr Ergebnis nicht als
numeric(x,2)
? Wox <= 38
Kehrt zurück
quelle
SELECT ROUND(630/60.0, 2);
gibt mir10.50
schoncast(630/60.0 as numeric(36,2))
ist genug10,50
Wie bei SQL Server 2012 können Sie die integrierte Formatfunktion verwenden :
(nur für weitere Lesungen ...)
quelle
1,757.47
Sie können verwenden
quelle
quelle
quelle
quelle
Funktioniert sowohl mit postgresql als auch mit Oracle
quelle
Die folgende Abfrage ist nützlich und einfach.
Gibt die Ausgabe als 0,25 aus.
quelle
Was auch immer Sie in Stückelung verwenden in dezimal sein soll, zum Beispiel
1548/100
geben15.00
Wenn wir ersetzen
100
mit100.0
in unserem Beispiel die wir bekommen15.48
quelle
Konvertieren Sie Ihre Nummer in ein
Numeric
oderDecimal
.Ersetzen Sie Ihre Anfrage durch Folgendes.
SQL Server
MySql:
Die
Cast
Funktion ist ein Wrapper für dieConvert
Funktion. Wenn SQL eine interpretierte Sprache ist und das Ergebnis ist, dass hinter den Kulissen derCast
Funktion etwas mehr passiert, obwohl die beiden Funktionen dieselben Ergebnisse liefern . Die Verwendung derConvert
Funktion ist eine kleine Einsparung, aber kleine Einsparungen multiplizieren sich.quelle
Versuche dies :
SELECT CAST(ROUND([Amount 1]/60,2) AS DECIMAL(10,2)) as TOTAL
quelle
Denken Sie als Ergänzung zu den folgenden Antworten daran, den Wert mit 1 und der Anzahl der von Ihnen bevorzugten Dezimalstellen zu multiplizieren, wenn Sie INT- oder nicht dezimale Datentypen in Ihren Formeln verwenden.
dh -
TotalPackages
ist einINT
und damit der NennerTotalContainers
, aber ich möchte, dass mein Ergebnis bis zu 6 Dezimalstellen hat.so:
quelle
Das folgende Snippet könnte Ihnen helfen:
quelle
Ich finde die STR-Funktion das sauberste Mittel, um dies zu erreichen.
quelle