Rundungsprobleme in Dezimalstellen in SQL

Autor: Roger Morrison
Erstelldatum: 27 September 2021
Aktualisierungsdatum: 9 Kann 2024
Anonim
MySQL - Einfaches Rechnen (Grundrechenarten, SUM, AVG; ROUND) (deutsch)
Video: MySQL - Einfaches Rechnen (Grundrechenarten, SUM, AVG; ROUND) (deutsch)

Inhalt

Die SQL-Sprache rundet die Zahlen automatisch, wenn die Tabellenspalte, in der Sie speichern, nur eine bestimmte Dezimalstellengenauigkeit zulässt. Sie können mit Präzisionsproblemen arbeiten, indem Sie die SQL-Funktion "round" verwenden. Mit dieser Funktion können Sie steuern, wie SQL die numerischen Werte in den Datenbanktabellen speichert.


Erfahren Sie, wie Sie Zahlen in SQL runden (Hemera Technologies / AbleStock.com / Getty Images)

Problem

Sie werden das SQL-Rundungsproblem bemerken, wenn Sie die Daten in den Tabellen betrachten. Der angezeigte numerische Wert stimmt nicht mit dem überein, den Sie mit dem Befehl "Einfügen" gespeichert haben. Mit den Datentypen der SQL-Spalten können Sie die Genauigkeit des Dezimalpunkts festlegen. Wenn Sie nur zwei Dezimalstellen haben möchten und versuchen, eine Zahl mit drei zu speichern, rundet SQL den Wert.

Tabellenstruktur

Sie können den Datentyp einer Spalte mithilfe eines SQL-Tabelleneditors ändern. Sie können Ihre Tabellen in Microsoft SQL Server Management Studio bearbeiten, das mit SQL Server geliefert wird. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie "Ändern". Wählen Sie die Genauigkeit in der Spaltendatentypliste aus, um die Anzahl der Dezimalstellen zu erhöhen und das Rundungsproblem zu beheben.


Runde Funktion

Wenn Sie den Datentyp der Tabelle nicht ändern möchten, verwenden Sie die Rundungsfunktion, um das Verhalten der numerischen Speicherung zu ändern. Aufrunden, herunterspielen oder die Funktion Standardrundung der Dezimalwerte durchführen lassen. Der folgende Code fasst zum Beispiel zusammen:

rund (Spalte, 2, -1)

Diese Funktion rundet auf zwei Dezimalstellen, immer aufwärts. Durch das Entfernen des Parameters "-1" führt SQL die Standardrundung durch, dh, wenn der Wert größer oder gleich "5" ist, und abwärts, wenn der Wert niedriger ist.

Überlegungen

Wenn Sie das Rundungsverhalten in SQL ändern, müssen Sie auch jede Spalte überprüfen, die eine Summe gerundeter Zahlen enthält. Diese Spalte enthält einen falschen Wert. Daher müssen Sie die Summe neu berechnen, um Fehler zu korrigieren.