Formatieren Sie eine Zahl in SQL Server 2008 R2 mit Kommas, aber ohne Dezimalstellen?

8

Ich verwende Folgendes, um eine mit Komma formatierte Zahl in T-SQL zu erstellen. Wie kann ich den Dezimalpunkt und die Nachkommastellen loswerden? Also, wenn ich 1,112.00 nach der Formatierung bekomme, wie würde ich nur 1,112 bekommen?

%Vor%     
Sunil 03.11.2012, 07:38
quelle

4 Antworten

17
%Vor%

Dies funktioniert auch mit Nachkommastellen:

%Vor%

Hinweis : @Mahmoud Gamal weist darauf hin, dass die Formatierung eher für die Ausführung im Front-End geeignet ist.

    
Mitch Wheat 03.11.2012, 07:50
quelle
16

Wie so:

%Vor%

Das wird immer gut funktionieren. Da CONVERT(VARCHAR(20), CAST(1112 AS MONEY), 1) immer eine Zahl mit .00 zurückgibt. Die Antwort MitchWheat ist jedoch besser, wenn es Zahlen mit Dezimalzahlen nach dem Komma gibt.

Beachten Sie, dass Sie diese Formatierung in der Front-End-Anwendung vornehmen sollten. In T-SQL geht es nicht um Formatierung.

    
Mahmoud Gamal 03.11.2012 07:50
quelle
9
%Vor%

Es wird gut funktionieren.

Beim Konvertieren der Zahl in den Geld-Datentyp werden automatisch 2 Nullen nach der Dezimalzahl hinzugefügt. Die PARSENAME-Funktion entfernt diese Nullen.

    
Govind 28.05.2014 13:10
quelle
1

Nach einigen Recherchen habe ich zwei mögliche Antworten auf meine erste Frage gefunden. Sie sind unten aufgeführt.

Option 1 : Die Antwort von Mitch Wheat ist eine mögliche Antwort. Wenn Sie jedoch einen Spaltenwert in einem SELECT formatieren möchten, müssten wir eine benutzerdefinierte Skalarfunktion mit dem T-SQL-Code von Mitch erstellen und diese UDF aus unserem SQL aufrufen.

%Vor%

Option 2: Wir können eine integrierte Systemfunktion namens "Parsename" wie im folgenden T-SQL-Code verwenden, um Dezimalzahlen zu formatieren und abzuschneiden.

%Vor%     
Sunil 06.11.2012 17:25
quelle

Tags und Links