Ab SQL Server 2012 können Sie numerische Typen mit der Funktion T-SQL FORMAT() formatieren. Diese Funktion akzeptiert drei Argumente; die Zahl, das Format und ein optionales Argument „Kultur“.

Das Format wird als Formatzeichenfolge angegeben. Eine Formatzeichenfolge definiert, wie die Ausgabe formatiert werden soll.

Hier ist ein Beispiel:

SELECT FORMAT(1, 'N');

Ergebnis:

1.00

In diesem Fall habe ich N als zweites argument., Dies ist der standardmäßige numerische Formatbezeichner für Number. Dieser spezielle Formatbezeichner (N) führt dazu, dass die Ausgabe mit Integral-und Dezimalziffern, Gruppentrennzeichen und einem Dezimaltrennzeichen mit optionalem negativem Vorzeichen formatiert wird. Dieses Argument ist groß-und kleinschreibungunempfindlich, daher ist entweder N oder n in Ordnung.,

Dezimalstellen

Hier ist ein weiteres Beispiel, diesmal mitN1 um anzugeben, dass wir nur eine Dezimalstelle wollen:

SELECT FORMAT(1, 'N1');

Ergebnis:

1.0

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

SELECT FORMAT(1, 'N7');

Ergebnis:

1.0000000

In diesen Beispielen sind die1 und7 als Präzisionsspezifizierer bekannt.

Präzisionsspezifizierer sind optional., Sie können ein Wert von 0 bis 99 sein, der die Genauigkeit des Ergebnisses angibt. Wie es funktioniert, hängt vom verwendeten Formatbezeichner ab. Für einige Formatbezeichner wird die Gesamtzahl der Ziffern im Ergebnis angegeben,für andere die Anzahl der Dezimalstellen. In anderen Fällen wird es ganz ignoriert. In der vollständigen Liste der standardmäßigen numerischen Formatbezeichner sehen Sie, wie sich Präzisionsspezifizierer auf die Ausgabe jedes Formatbezeichners auswirken.

Prozent

Die folgenden Beispiele verwenden das Argument P, das die Zahl als Prozentwert formatiert., Es multipliziert die Zahl mit 100 und fügt dann ein lokalisiertes Prozentzeichen hinzu.

SELECT FORMAT(1, 'P') AS 'Example 1', FORMAT(.375, 'P') AS 'Example 2', FORMAT(.0375, 'P', 'tr-tr') AS 'Example 3';

Ergebnis:

Example 1 Example 2 Example 3--------- --------- ---------100.00 % 37.50 % %3,75 

Beachten Sie, dass“ Beispiel 3 “ ein drittes Argument enthält, das die Kultur angibt, die in der Ausgabe verwendet werden soll. In diesem Fall verwende ich tr-tr für Türkisch. Dies führt dazu, dass das Prozentzeichen der Zahl vorangestellt wird (anstatt wie die anderen angehängt zu werden). Es führt auch dazu, dass ein Komma als Dezimaltrennzeichen verwendet wird.

Wenn Sie das Argument „Kultur“ nicht angeben, wird die Sprache der aktuellen Sitzung verwendet.,

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

Währung

Sie können C verwenden, um einen Währungswert zurückzugeben.

SELECT FORMAT(1, 'C');

Ergebnis:

$1.00

Sie können das Gebietsschema auch als dritten Parameter hinzufügen.,

Here are some examples:

SELECT FORMAT(1, 'C', 'fr-FR') AS France, FORMAT(1, 'C', 'th-TH') AS Thailand, FORMAT(1, 'C', 'ja-JP') AS Japan;

Result:

France Thailand Japan------ -------- -----1,00 € ฿1.00 ¥1 

Exponential (Scientific)

You can use E to specify exponential notation.

SELECT FORMAT(1234.56789, 'E');

Result:

1.234568E+003 

Hexadecimal

You can even format a number as hexadecimal., Verwenden Sie dazu das Argument X:

SELECT FORMAT(10, 'X');

Ergebnis:

A

Hier ist ein weiteres Beispiel, diesmal mit einer größeren Zahl:

SELECT FORMAT(7145, 'X');

Ergebnis:

1BE9

Benutzerdefiniertes Format

Sie können auch Ihr eigenes benutzerdefiniertes Format erstellen, indem Sie eine benutzerdefinierte numerische Formatzeichenfolge verwenden. Dies besteht aus einer Reihe von benutzerdefinierten numerischen Formatbezeichnern, die ein Muster für Ihre Nummer bereitstellen.,

Dies ist einfacher erklärt mit einem Beispiel:

SELECT FORMAT(123456789, '##-###-####');

Ergebnis:

12-345-6789

In diesem Fall verwende ich den Ziffernplatzhalter (#). Mit dem Ziffernplatzhalter kann ich ein Format für die Nummer angeben, indem ich das Symbol # als Platzhalter für jede Nummer verwende.

Kommas

Ein weiteres Beispiel:

SELECT FORMAT(123456789, '#,#');

Ergebnis:

123,456,789

Führende Nullen

Ein weiterer benutzerdefinierter numerischer Formatbezeichner ist Null (0)., Sie können damit eine Zahl mit führenden Nullen auffüllen:

SELECT FORMAT(7, '000') AS 'Example 1', FORMAT(123, '0000') AS 'Example 2', FORMAT(123, '00000') AS 'Example 3';

Result:

Example 1 Example 2 Example 3--------- --------- ---------007 0123 00123 

Sie können damit auch Nullen entfernen:

SELECT FORMAT(0123, '000') AS 'Example 1', FORMAT(0123, '0000') AS 'Example 2', FORMAT(000123, '00000') AS 'Example 3';

Result:

Example 1 Example 2 Example 3--------- --------- ---------123 0123 00123 

Numeric Formatbezeichner Reference

Die folgenden Artikel enthalten alle numerischen Formatbezeichner, die Sie mit der Funktion FORMAT() verwenden können, zusammen mit T-SQL-Beispielen.,

  • Numerische Standardformatzeichenfolgen
  • Benutzerdefinierte numerische Formatzeichenfolgen

Dies sind dieselben Formatbezeichner, die vom.NET Framework unterstützt werden (die Funktion FORMAT() basiert auf dem. NET Framework).

Datum und Uhrzeit

Mit der Funktion FORMAT() können Sie auch Datum und Uhrzeit formatieren.

Datum und Uhrzeit haben einen separaten Satz von Formatbezeichnern:

  • Standard-Datums-und Zeitformatzeichenfolgen
  • Benutzerdefinierte Datums – und Zeitformatzeichenfolgen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.