So entfernen Sie nachgestellte Nullen aus Dezimalwerten in SQL Server
Viele SQL Server-Benutzer stoßen auf ein häufiges Problem: nachgestellte Nullen in Dezimalwerten. Beispielsweise könnte eine DECIMAL(9,6)-Spalte, die einen Wert wie 999,123456 enthalten soll, 123,4567 als 123,456700 speichern.
Dezimalgenauigkeit verstehen
Der Datentyp DECIMAL in SQL Server speichert eine bestimmte Anzahl von Stellen nach dem Dezimalpunkt, wie in der (9,6)-Notation dargestellt. Dies bedeutet, dass die Spalte sechs Ziffern rechts vom Dezimalpunkt enthalten kann.
Erklärung der nachgestellten Nullen
Um die definierte Genauigkeit beizubehalten, werden den Dezimalwerten nachgestellte Nullen hinzugefügt. Im obigen Beispiel hat der Wert 123,4567 nur vier Nachkommastellen, es sind aber sechs Nachkommastellen erforderlich. Daher werden am Ende zwei nachgestellte Nullen hinzugefügt.
Nachgestellte Nullen entfernen
Um nachgestellte Nullen aus Dezimalwerten zu entfernen, können Sie die Lösung zum Konvertieren von Dezimalzahlen in Gleitkommazahlen verwenden:
<code class="language-sql">select cast(123.4567 as DECIMAL(9,6)) , cast(cast(123.4567 as float) as DECIMAL(9,4))</code>
Diese Methode macht sich die Tatsache zunutze, dass Gleitkommazahlen standardmäßig keine nachgestellten Nullen anzeigen. Nachgestellte Nullen werden effektiv entfernt, indem Dezimalzahlen in Gleitkommazahlen und dann wieder zurück in Dezimalzahlen umgewandelt werden. Bitte beachten Sie, dass das Endergebnis in DECIMAL(9,4) konvertiert wird, wobei die Anzahl der gültigen Dezimalstellen erhalten bleibt.
Beispielausgabe
Die obige Abfrage erzeugt die folgende Ausgabe:
<code>123.456700 123.4567</code>
In diesem Beispiel fungiert der Punkt (.) als Dezimaltrennzeichen. Beachten Sie, dass Dezimalwerte ihre ursprüngliche Genauigkeit behalten, nachgestellte Nullen jedoch entfernt wurden. Die Wahl einer geeigneten Genauigkeit (z. B. DECIMAL(9,4)) ist für das Endergebnis von entscheidender Bedeutung, um Präzisionsverluste oder unnötige Rundungen zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie kann ich nachgestellte Nullen aus Dezimalwerten in SQL Server entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!