Heim >Datenbank >MySQL-Tutorial >Wie rundet man numerische Werte in SQL auf zwei Dezimalstellen?
Runden numerischer Werte auf zwei Dezimalstellen in SQL
Das Runden numerischer Werte auf bestimmte Dezimalstellen ist häufig erforderlich, wenn Daten konsistent angezeigt werden sollen und präzise Art und Weise. In SQL kann diese Aufgabe mit verschiedenen Funktionen und Techniken gelöst werden.
Beispielszenario
Stellen Sie sich die Aufgabe vor, Minuten in Stunden umzuwandeln, gerundet auf zwei Dezimalstellen, während Stellen Sie sicher, dass nur zwei Ziffern nach dem Dezimalpunkt angezeigt werden. Die Umrechnung von 650 Minuten in Stunden sollte beispielsweise 10,83 ergeben. Die Verwendung der folgenden SQL-Abfrage:
Select round(Minutes/60.0,2) from ....
ergibt jedoch ein Ergebnis von 10,5000000 für 630 Minuten. Ziel ist es, stattdessen einen gerundeten Wert von 10,50 zu erhalten.
Lösung
Um die gewünschte Rundung mit präziser Dezimalpunktsteuerung zu erreichen, können Sie die folgende Technik anwenden:
select round(630/60.0,2), cast(round(630/60.0,2) as numeric(36,2))
Die Funktion „round()“ allein bietet keine Kontrolle über die Anzahl der angezeigten Dezimalstellen. Indem Sie den gerundeten Wert jedoch in einen numerischen Typ mit angemessener Genauigkeit umwandeln (z. B. numeric(36,2)), können Sie die Ausgabe auf zwei Dezimalstellen beschränken.
Erklärung
Erwartete Ausgabe
Ausführen der Überarbeitung Die SQL-Abfrage gibt für die angegebenen Beispiele die folgenden Ergebnisse zurück:
10.500000 10.50
Dadurch wird der Wert genau auf zwei Dezimalstellen gerundet, sodass in der zweiten Spalte nur 10,50 angezeigt wird.
Das obige ist der detaillierte Inhalt vonWie rundet man numerische Werte in SQL auf zwei Dezimalstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!