Heim >Datenbank >MySQL-Tutorial >Wie kann ich Dezimalstellen in SQL Server abschneiden und nicht runden?

Wie kann ich Dezimalstellen in SQL Server abschneiden und nicht runden?

Linda Hamilton
Linda HamiltonOriginal
2025-01-15 08:54:43552Durchsuche

How Can I Truncate, Not Round, Decimal Places in SQL Server?

Entfernen von Dezimalstellen in SQL Server: Ein Trunkierungsansatz

SQL Server erfordert oft die Bearbeitung von Dezimaldaten, was manchmal das Entfernen nachfolgender Dezimalstellen erfordert, ohne den Wert durch Rundung zu ändern. Im Gegensatz zum Rundungsverhalten der ROUND-Funktion erfordern Szenarien aus Gründen der Datenintegrität eine reine Kürzung.

Betrachten Sie dieses Beispiel:

<code class="language-sql">DECLARE @value DECIMAL(18,2);
SET @value = 123.456;</code>

SQL Server rundet @value grundsätzlich auf 123,46. Um stattdessen zu kürzen, nutzen Sie die Funktion ROUND mit einem bestimmten dritten Parameter:

<code class="language-sql">ROUND(123.456, 2, 1);</code>

Der entscheidende dritte Parameter (1) steuert das Abschneiden, nicht das Runden. Das Ergebnis ist 123,45, wodurch die zusätzliche Dezimalstelle effektiv entfernt wird.

Funktionssyntax

Die Syntax der Funktion ROUND für die Kürzung lautet:

<code class="language-sql">ROUND(numeric_expression, length, function)</code>

Parameter:

  • numerischer_Ausdruck:Der zu kürzende Dezimalwert.
  • Länge: Die gewünschte Anzahl der zu behaltenden Dezimalstellen.
  • Funktion: Der Operationstyp (0 für Rundung, jeder Wert ungleich Null für Kürzung).

Die Verwendung von ROUND mit dem Truncation-Parameter bietet eine präzise Methode zum Entfernen von Dezimalstellen in SQL Server ohne die durch Rundung verursachten Ungenauigkeiten, wodurch die Datengenauigkeit in Anwendungen gewährleistet wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Dezimalstellen in SQL Server abschneiden und nicht runden?. 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