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.

James
quelle

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'')
Erik Darling
quelle
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
David Browne - Microsoft
quelle