Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So formatieren Sie Zahlen als Währung in SQL Server (T-SQL)

In SQL Server können Sie das T-SQL FORMAT() verwenden Funktion zum Formatieren einer Zahl als Währung.

Das FORMAT() Mit der Funktion können Sie Zahlen, Daten, Währungen usw. formatieren. Sie akzeptiert drei Argumente; die Zahl, das Format und ein optionales „Kultur“-Argument. Dieser Artikel befasst sich speziell mit der Verwendung des Formatarguments zur Angabe einer Währung.

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel für die Formatierung einer Zahl als Währung:

SELECT FORMAT(1234, 'C') Result;

Ergebnis:

+-----------+
| Result    |
|-----------|
| $1,234.00 |
+-----------+

In diesem Fall habe ich C verwendet als zweites Argument. Dies ist die standardmäßige numerische Formatzeichenfolge für Währung.

Beispiel 2 – Groß-/Kleinschreibung

Bei diesem Argument wird die Groß-/Kleinschreibung nicht beachtet, also entweder C oder c gibt dasselbe Ergebnis zurück:

SELECT FORMAT(1234, 'c') Result;

Ergebnis:

+-----------+
| Result    |
|-----------|
| $1,234.00 |
+-----------+

Beispiel 3 – Dezimalstellen

Hier ist ein weiteres Beispiel, diesmal mit C0 um anzugeben, dass wir keine Dezimalstellen wollen:

SELECT FORMAT(1234, 'C0') Result;

Ergebnis:

+----------+
| Result   |
|----------|
| $1,234   |
+----------+

Dies wird als „Präzisionsspezifizierer“ bezeichnet, wahrscheinlich weil Sie damit die Genauigkeit angeben können, mit der das Ergebnis angezeigt wird.

Sie können auch die Anzahl der Dezimalstellen erhöhen:

SELECT FORMAT(1234, 'C4') Result;

Ergebnis:

+-------------+
| Result      |
|-------------|
| $1,234.0000 |
+-------------+

Beispiel 4 – Gebietsschema

Die vorherigen Beispiele führten alle dazu, dass der Zahl ein Dollarzeichen vorangestellt wurde. Dies ist in Ordnung, wenn die gewünschte Währung in Dollar ist, aber was ist, wenn Sie sie in einer anderen Währung anzeigen müssen?

Sie können ein drittes Argument verwenden, um das Gebietsschema anzugeben. Dies führt automatisch dazu, dass das entsprechende Währungssymbol für dieses Gebietsschema verwendet wird:

SELECT FORMAT(1234, 'C', 'fr-FR') Result;

Ergebnis:

+------------+
| Result     |
|------------|
| 1 234,00 € |
+------------+

Hier sind einige weitere Gebietsschemata:

SELECT 
  FORMAT(1234, 'C', 'fr-FR') 'France',
  FORMAT(1234, 'C', 'zh-cn') 'China',
  FORMAT(1234, 'C', 'th-TH') 'Thailand',
  FORMAT(1234, 'C', 'de-DE') 'Germany';

Ergebnis:

+------------+-----------+------------+------------+
| France     | China     | Thailand   | Germany    |
|------------+-----------+------------+------------|
| 1 234,00 € | ¥1,234.00 | ฿1,234.00  | 1.234,00 € |
+------------+-----------+------------+------------+

Wenn die Kultur Argument nicht angegeben ist, wird die Sprache der aktuellen Sitzung verwendet.

So finden Sie die Sprache der aktuellen Sitzung und stellen sie wie folgt ein.

Beachten Sie, dass die aktuelle Sprache normalerweise mit der Standardsprache des Benutzers identisch ist, dies jedoch möglicherweise nicht der Fall ist, wenn der Benutzer die aktuelle Sprache mit SET LANGUAGE geändert hat . In jedem Fall können Sie auch herausfinden, was die Standardsprache ist.

Wie Sie sich vorstellen können, könnten Sie je nach Ihrer aktuellen Sprache oder dem Wert eines „kulturellen“ Arguments ganz unterschiedliche Ergebnisse erzielen. Weitere Beispiele finden Sie unter Wie sich Spracheinstellungen auf Ihre FORMAT()-Ergebnisse auswirken können.