SQL set-floating-point-Präzision
Für eine SQL-int, der konvertiert wird an einem Schwimmer, wie kann ich die Genauigkeit der floating-point-Zahl?
Dies ist die Auswahl möchte ich abschneiden, um zwei oder 3 Dezimalstellen:
AVG(Cast(e.employee_level as Float))avg_level,
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
In TSQL können Sie zwei verschiedene Größen für float, 24 oder 53. Dies setzt die Genauigkeit auf 7 oder 15 Ziffern jeweils.
Wenn alles, was Sie tun möchten, ist abgeschnitten, um eine festgelegte Anzahl von Dezimalstellen, die Sie verwenden können,RUNDE, dh:
Als Allgemeine Regel gilt, können Sie nicht angeben, die Anzahl der Ziffern nach dem Dezimalpunkt bei einer Gleitkommazahl. Floating-point-Datentypen speichern die nächste floating-point-Annäherung an einen beliebigen Wert. Die nächste floating-point-Annäherung ist unwahrscheinlich, dass die Anzahl der Ziffern, die Sie wollen. Obwohl Sie in der Lage sein könnte, zu unterdrücken jede Ziffer nach dem Dritten eins, das ändert nur die Darstellung des Wertes, nicht den Wert selbst.
Ganzen zahlen sind eine andere Geschichte. Ein integer--gespeichert, umgewandelt oder gegossen, um einen floating-point-Datentyp--wird gespeichert genau über einen großen Bereich. Floating-point-Datentypen nicht haben, um zu speichern eine gebrochene Einheiten für Integer-zahlen.
Ich würde vorschlagen, jedoch, dass die beste übung für Sie ist