Heim >Datenbank >MySQL-Tutorial >Wie rundet man Zahlen in SQL präzise auf zwei Dezimalstellen?

Wie rundet man Zahlen in SQL präzise auf zwei Dezimalstellen?

Susan Sarandon
Susan SarandonOriginal
2025-01-07 13:27:41911Durchsuche

How to Precisely Round Numbers to Two Decimal Places in SQL?

So runden Sie Werte in SQL präzise auf zwei Dezimalstellen

Bei numerischen Berechnungen in SQL ist Präzision oft entscheidend. Das Abrunden von Werten auf eine bestimmte Anzahl von Dezimalstellen gewährleistet die Genauigkeit und Lesbarkeit der Daten.

Problem:

Sie müssen Minuten in Stunden umrechnen, abgerundet auf zwei Dezimalstellen . Die alleinige Verwendung der Funktion „round()“ kann jedoch zu zusätzlichen Dezimalstellen führen, z. B. 10,5000000 anstelle der gewünschten 10,50.

Lösung:

Um die gewünschte Präzision zu erreichen , verwenden Sie cast() Funktion:

select
    round(minutes/60.0,2),
    cast(round(minutes/60.0,2) as numeric(36,2))

Erklärung:

  • Die Funktion „round()“ rundet das Ergebnis von Minuten/60,0 auf zwei Dezimalstellen.
  • Die Funktion cast() wandelt dann den gerundeten Wert in einen numerischen Datentyp mit einer Genauigkeit von 36 (um mögliche Rundungsfehler zu behandeln) und einer Skalierung von um 2 (für zwei Dezimalstellen).
  • Dadurch wird sichergestellt, dass die Ausgabe auf zwei Dezimalstellen gerundet wird, ohne dass zusätzliche Dezimalstellen angezeigt werden.

Beispiel:

Wenn die Minutenvariable einen Wert von enthält 630:

select
    round(630/60.0,2),
    cast(round(630/60.0,2) as numeric(36,2))

Rückgabe:

10.500000    10.50

Das obige ist der detaillierte Inhalt vonWie rundet man Zahlen in SQL präzise auf zwei Dezimalstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn