Wie schreibt man eine Zahl mit zwei Dezimalstellen für SQL Server?
sql
sql-server
decimal
number-formatting
Shiliang
quelle
quelle
Verwenden Sie
Str()
Funktion. Es werden drei Argumente benötigt (die Anzahl, die Anzahl der anzuzeigenden Gesamtzeichen und die Anzahl der anzuzeigenden Dezimalstellenzeigt an: '12345.679' (3 Leerzeichen, 5 Stellen 12345, ein Dezimalpunkt und drei Dezimalstellen (679). - Es wird gerundet, wenn es abgeschnitten werden muss (es sei denn, der ganzzahlige Teil ist in diesem Fall zu groß für die Gesamtgröße Stattdessen werden Sternchen angezeigt.)
für insgesamt 12 Zeichen, mit 3 rechts vom Dezimalpunkt.
quelle
it rounds if it has to truncate
... es sei denn, der ganzzahlige Teil ist zu groß für die Gesamtgröße. In diesem Fall werden stattdessen Sternchen angezeigt. Dies wird in der Dokumentation für erwähntSTR
. Hier ist ein Zitat von dieser Seite:STR(1223,2) truncates the result set to **.
Im Allgemeinen können Sie die Genauigkeit einer Zahl in SQL definieren, indem Sie sie mit Parametern definieren. In den meisten Fällen ist dies
NUMERIC(10,2)
oderDecimal(10,2)
- definiert eine Spalte als Zahl mit 10 Gesamtziffern mit einer Genauigkeit von 2 (Dezimalstellen).Aus Gründen der Übersichtlichkeit bearbeitet
quelle
Diese Arbeit für mich und hält immer zweistellige Brüche
23.1 ==> 23.10
25,569 ==> 25,56
1 ==> 1,00
Code-Screenshot
quelle
So machen es die Kinder heute:
123,46
quelle
DECLARE @test DECIMAL(18,6) = 0.456789
wirdSELECT FORMAT(@test, '##.##')
Folgendes zurückgegeben:.46
Wie wird die führende Null angezeigt :0.46
?Wenn Sie nur zwei Dezimalstellen benötigen, ist der einfachste Weg ..
ODER
Ausgabe
quelle
Wenn Sie die Zahl gut runden können, anstatt sie abzuschneiden, dann ist es nur:
quelle
Versuche dies:
quelle
Multiplizieren Sie den Wert, den Sie einfügen möchten (z. B. 2,99), mit 100
Fügen Sie dann die Division durch 100 des Ergebnisses ein und fügen Sie am Ende 0,01 hinzu:
quelle
Dies ermöglicht insgesamt 10 Stellen mit 2 Werten nach der Dezimalstelle. Dies bedeutet, dass der Wert vor der Dezimalstelle bis zu 8 Stellen und nach der Dezimalstelle 2 Stellen aufnehmen kann.
Geben Sie zur Validierung den Wert in die folgende Abfrage ein.
quelle