Heim > Datenbank > MySQL-Tutorial > Wie schneide ich Dezimalstellen in SQL Server ab, statt sie zu runden?

Wie schneide ich Dezimalstellen in SQL Server ab, statt sie zu runden?

Mary-Kate Olsen
Freigeben: 2025-01-15 07:33:44
Original
737 Leute haben es durchsucht

How to Truncate, Not Round, Decimal Places in SQL Server?

SQL Server: Präzision bei der Dezimalverarbeitung – Kürzung vs. Rundung

Genaue Dezimalberechnungen in SQL Server erfordern häufig die Wahl zwischen Kürzung und Rundung. Dieser Leitfaden beschreibt die wichtigsten Unterschiede und zeigt, wie man Dezimalwerte ohne Rundung abschneidet.

Anschauliches Beispiel:

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

SQL Server rundet @value automatisch auf 123,46. Obwohl es für viele Anwendungen geeignet ist, gibt es Szenarien, in denen Rundungen unerwünscht sind und eine Kürzung erforderlich machen.

Effektive Trunkierungstechniken

1. Nutzung der RUND-Funktion:

Die ROUND-Funktion bietet eine subtile, aber leistungsstarke Funktion: einen dritten Parameter, der die Kürzung steuert.

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

Ein dritter Parameter ungleich Null weist ROUND an, abzuschneiden statt zu runden.

2. Verwendung von CAST und CONVERT:

Durch die Umwandlung oder Konvertierung der Dezimalzahl in einen Ganzzahltyp wird der Dezimalteil direkt abgeschnitten:

<code class="language-sql">CAST(@value AS INT);
CONVERT(INT, @value);</code>
Nach dem Login kopieren

3. String-Manipulation mit SUBSTRING oder LEFT:

Extrahieren Sie den gewünschten Teil mit SUBSTRING oder LEFT und konvertieren Sie ihn dann zurück in eine Dezimalzahl:

<code class="language-sql">SUBSTRING(@value, 1, 4);
LEFT(@value, 4);</code>
Nach dem Login kopieren

4. Verwendung der FLOOR-Funktion:

Die Funktion FLOOR bietet in Kombination mit Multiplikation und Division eine weitere Kürzungsmethode:

<code class="language-sql">FLOOR(@value * 100) / 100;</code>
Nach dem Login kopieren

Dies wird effektiv auf zwei Dezimalstellen gekürzt. Denken Sie daran, den Multiplikator und den Divisor für unterschiedliche Präzisionsstufen anzupassen.

Das obige ist der detaillierte Inhalt vonWie schneide ich Dezimalstellen in SQL Server ab, statt sie zu runden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage