2017-01-02 4 views
-3

Wo ist das Problem mit meinem SQL-Befehl?Wie Geld Wert in SQL formatieren

select REPLACE(CONVERT(varchar, CAST(price AS money), 1),'.','.') as price 

Ausgang:

price 
----- 
145,000,00 

Ich möchte Ausgabe wie folgt

price 
----- 
145.000,00 
+2

Normalerweise wollen Sie die Daten als (dezimal) Nummer, abrufen und stellen Sie dann das Format für die Anzeige . Diese werden normalerweise in verschiedenen Teilen Ihrer Anwendung durchgeführt. Wenn beispielsweise "Preis" eine Zeichenfolge ist, können Sie sie nicht addieren oder den Durchschnitt für mehrere Zeilen berechnen. – Kobi

+0

@ a_horse_with_no_name im Verwendung sql Server 2016 @Kobi können Sie bitte mit meinem SQL-Befehl helfen? –

+0

Das ist ein seltsames Ausgabeformat: Bitte definieren Sie es genau (um Mehrdeutigkeiten zu vermeiden). – Richard

Antwort

1

Formatierung Ergebnisse ist in der Regel für das vordere Ende überlassen.

Having said that, mit SQL Server 2016, die Format-Funktion mit einem entsprechenden Gebietsschema verwenden:

declare @m money = 145000 
select format (@m, '#,###.00', 'DE-de') 
+0

zu entfernen ist das was ich über seine Arbeiten rede .. Danke Dekan –