Der beste Weg, Kommas in große Zahlen zu setzen


10

Ich habe einen neuen Job angefangen und es geht darum, ein paar große Zahlen zu betrachten. Gibt es eine einfache Möglichkeit, einem Feld intoder Kommas Kommas hinzuzufügen decimal, um es lesbar zu machen?

Zum Beispiel gibt SQL Server die Spalte auf der linken Seite aus, aber aus Gründen meiner eigenen Gesundheit muss sie wie die auf der rechten Seite aussehen:

2036150 -> 2,036,150  

... oder müsste ich etwas abscheuliches schreiben

left(right(vandalized_data),6),3) + ',' + right(left(vandalized_data),6),3)

Funktion?

Die perfekte Sache wären Kommas im Anzeigeraster und dann einfache Ganzzahlen in der Ausgabe.

Antworten:


15

Wenn Sie mit SQL Server 2012+ arbeiten und dies möchten (ohne Dezimalstellen):

SELECT FORMAT(2036150, N'N0')

Wenn Sie eine frühere Version verwenden, müssen Sie durch einige Rahmen springen:

SELECT REPLACE(CONVERT(NVARCHAR(30), CAST((2036150) AS MONEY), 1), N'.00', N'')

18

Die FORMAT- Funktion von TSQL kann das. Z.B

select format(1232131312342132123.2222,'0,###.##')

Ausgänge

1,232,131,312,342,132,123.22

Wenn Sie ein anderes Trennzeichen verwenden möchten, verwenden Sie weiterhin ein Trennzeichen, ,das in der Zeichenfolge im .NET-Format eine besondere Bedeutung hat , und ersetzen Sie das ,durch ein anderes. Z.B:

select replace(format(123445678.2222,'#,###.##'),',','_')

Ausgänge

123_445_678.22
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.