it-swarm.com.de

Schreiben Sie eine Zahl mit zwei Nachkommastellen SQL Server

Wie schreibt man eine Zahl mit zwei Nachkommastellen für SQL Server?

139
student2009

versuche dies

SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
191
Manoj

Verwenden Sie Str() Function. Es sind drei Argumente erforderlich (die Anzahl, die Anzahl der anzuzeigenden Gesamtzeichen und die Anzahl der anzuzeigenden Dezimalstellen)

  Select Str(12345.6789, 12, 3)

zeigt an: '12345.679' (3 Stellen, 5 Stellen 12345, ein Dezimalpunkt und drei Dezimalstellen (679). - Es wird gerundet, wenn es abgeschnitten werden muss (es sei denn, der ganzzahlige Teil ist zu groß für die Gesamtgröße, in diesem Fall stattdessen werden Sternchen angezeigt.)

für insgesamt 12 Zeichen mit 3 Nachkommastellen.

61
Charles Bretana

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) oder Decimal(10,2) - definiert eine Spalte als Zahl mit 10 Stellen mit einer Genauigkeit von 2 (Dezimalstellen).

Der Klarheit halber bearbeitet

35
AAA

Das klappt bei mir und hält immer zweistellige Brüche

23.1 ==> 23.10

25,569 ==> 25,56

1 => 1,00

Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2

Code-Screenshot

13
Mohamed Ramadan

So machen es die Kinder heute:

DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')

123,46

11
ClubbieTim

Wenn Sie nur zwei Dezimalstellen benötigen, ist der einfachste Weg, ..

SELECT CAST(12 AS DECIMAL(16,2))

OR

SELECT CAST('12' AS DECIMAL(16,2))

Ausgabe

12.00
8
SonalPM

Wenn Sie mit Rundung der Zahl zufrieden sind, anstatt sie abzuschneiden, dann ist es nur:

ROUND(column_name,decimals)
6
antoine

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 .01 hinzu:

299.01/100
2
SQL Master

Versuche dies:

 declare @MyFloatVal float;

    set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))

    select  @MyFloatVal

    Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount
1
Anil Chaudhary

Dies ermöglicht insgesamt 10 Stellen mit 2 Werten nach dem Komma. Dies bedeutet, dass der Wert vor der Dezimalstelle bis zu 8 Stellen und 2 nach der Dezimalstelle gespeichert werden kann.

Geben Sie zum Überprüfen den Wert in die folgende Abfrage ein.

DECLARE vtest  number(10,2);
BEGIN
SELECT 10.008 INTO vtest FROM dual;
dbms_output.put_line(vtest);
END;
0
kumar vishwash