PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Vorlagenmuster und Modifikatoren für die numerische Formatierung in PostgreSQL

Diese Seite enthält die vollständige Liste der Vorlagenmuster und Modifikatoren für Vorlagenmuster, die beim Formatieren von Zahlen in PostgreSQL verwendet werden können.

Vorlagenmuster

Die folgende Tabelle listet alle Vorlagenmuster auf, die für die numerische Formatierung in Postgres verwendet werden können.

Muster Beschreibung
9 Ziffernposition (kann weggelassen werden, wenn unbedeutend). Wenn die Ziffer eine führende Null ist, wird sie durch ein Leerzeichen ersetzt. Wenn es sich um eine nachgestellte Null handelt und der Füllmodus angegeben ist (z. B. FM ) dann wird es gelöscht.
0 Ziffernposition (wird nicht weggelassen, auch wenn sie unbedeutend ist). Das bedeutet, dass die Ziffernposition immer gedruckt wird, auch wenn sie eine führende/nachgestellte Null enthält.
. (Punkt) Dezimalpunkt. Ignoriert Gebietsschema.
, (Komma) Gruppentrennzeichen (Tausender). Ignoriert Gebietsschema.
PR Negativer Wert in spitzen Klammern.
S An Zahl verankertes Zeichen (verwendet Gebietsschema). Wenn S erscheint direkt links von einem oder mehreren 9 s wird das Zeichen an der Nummer verankert.
L Währungssymbol (verwendet Gebietsschema).
D Dezimalpunkt (verwendet Gebietsschema).
G Gruppentrennzeichen (verwendet Gebietsschema).
MI Minuszeichen an angegebener Stelle (wenn Zahl <0). Nicht an die Nummer gebunden.
PL Pluszeichen an angegebener Stelle (wenn Zahl> 0). Nicht an die Nummer gebunden. Dies ist eine Postgres-Erweiterung.
SG Plus-/Minuszeichen an angegebener Stelle. Nicht an die Nummer gebunden. Dies ist eine Postgres-Erweiterung.
RN Römische Zahl (Eingabe zwischen 1 und 3999).
TH oder th Suffix der Ordnungszahl. Diese wandeln keine Werte kleiner als Null um und sie wandeln keine Bruchzahlen um. Dies sind PostgreSQL-Erweiterungen.
V Angegebene Anzahl von Ziffern verschieben. Bei Verwendung mit to_char() , multipliziert dies die Eingabewerte mit 10^n , wobei n ist die Anzahl der Ziffern nach V . Bei Verwendung mit to_number() , teilt es sich auf ähnliche Weise. Beide to_char() und to_number() unterstützen nicht die Verwendung von V kombiniert mit einem Dezimalpunkt (z. B. 99.9V99 ist nicht erlaubt).
EEEE Exponent für wissenschaftliche Notation. Kann nicht in Kombination mit anderen Formatierungsmustern oder Modifikatoren außer Ziffern- und Dezimalpunktmustern verwendet werden und muss am Ende der Formatzeichenfolge stehen (z. B. 9.99EEEE ist ein gültiges Muster).

Anmerkungen:

  • Beide 0 und 9 sind äquivalent, wenn sie mit to_number() verwendet werden Funktion.
  • Bei Verwendung von to_number() Funktion, wenn Nicht-Datenvorlagenmuster wie L oder TH verwendet werden, wird die entsprechende Anzahl von Eingabezeichen übersprungen, unabhängig davon, ob sie mit dem Vorlagenmuster übereinstimmen oder nicht, es sei denn, es handelt sich um Datenzeichen (d. h. Ziffern, Vorzeichen, Dezimalpunkt oder Komma). Zum Beispiel TH würde zwei Nichtdatenzeichen überspringen.

Vorlagenmuster-Modifikatoren

Die folgenden Modifikatoren können auf die obigen Vorlagenmuster angewendet werden, um das Ergebnis zu verändern.

Modifikator Beschreibung
FM Präfix Füllmodus (nachgestellte Nullen und Auffüllen von Leerzeichen unterdrücken).
TH Suffix Ordnungszahl-Suffix in Großbuchstaben. Konvertiert keine Werte kleiner als Null und konvertiert keine Bruchzahlen. Dies ist eine Postgres-Erweiterung.
th Suffix Suffix für Ordnungszahlen in Kleinbuchstaben. Konvertiert keine Werte kleiner als Null und konvertiert keine Bruchzahlen. Dies ist eine Postgres-Erweiterung.

Beachten Sie, dass das erste als Präfix zum Vorlagenmuster hinzugefügt wird und die anderen zwei als Suffix hinzugefügt werden.

Beispiel

Hier ist ein kurzes Beispiel, das sowohl ein Vorlagenmuster als auch einen Modifikator enthält.

SELECT to_char(1, '9th');

Ergebnis:

1st

In diesem Fall die 9 war für die Zahl (1 ) und den th wurde verwendet, um den Ordinalindikator hinzuzufügen (in diesem Fall st ).