Eliminieren von nachgestellten Nullen in SQL Server-Dezimaldaten
Herausforderung:
Das Speichern von Dezimalwerten in einer DECIMAL(9,6)
-Spalte führt häufig zu unerwünschten nachgestellten Nullen. Das Einfügen von 123.4567
ergibt beispielsweise 123.456700
.
Lösung:
Das Vorhandensein abschließender Nullen in Dezimalzahlen ist in erster Linie ein Anzeigeproblem, das normalerweise von der Anwendung oder dem Client behoben wird. SQL Server Management Studio (SSMS) zeigt jedoch Gleitkommazahlen ohne diese nachgestellten Nullen an. Wir können dieses Verhalten ausnutzen, um sie zu entfernen.
Die Lösung umfasst eine zweistufige Besetzung: zuerst zu DECIMAL
, dann zu FLOAT
:
<code class="language-sql">SELECT CAST(123.4567 AS DECIMAL(9,6)) AS DecimalValue, CAST(CAST(123.4567 AS DECIMAL(9,6)) AS FLOAT) AS FloatedValue;</code>
Das ergibt:
<code>DecimalValue FloatedValue 123.456700 123.4567</code>
Durch die Umwandlung in FLOAT
werden die nachgestellten Nullen effektiv aus dem angezeigten Wert entfernt, was eine einfache und effiziente Problemumgehung für Szenarien bietet, in denen ihre Anwesenheit problematisch ist.
Das obige ist der detaillierte Inhalt vonWie entferne ich nachgestellte Nullen aus SQL Server-Dezimalwerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!