Zahlen als Zeichenfolge formatieren und ihre Syntax analysieren

Bei Konvertierungen zwischen Zeichenfolgen und numerischen Datentypen können Sie im FORMAT-Parameter der CAST-Funktion einen optionalen Formatierungsausdruck verwenden. Bei Konvertierungen von Zeichenfolgen bestimmt der Formatierungsausdruck, wie die Syntax der Quellenzeichenfolge analysiert werden soll, um den Zieldatentyp zu füllen. Bei Konvertierungen in Zeichenfolgen legt der Ausdruck fest, wie die Daten im Quellausdruck in der Zielzeichenfolge formatiert werden sollen.

Sie können einen FORMAT-Ausdruck für folgende numerische Konvertierungen angeben: (Die Festlegung eines FORMAT-Ausdrucks für Datum/Zeit-Konvertierungen wird unter DATETIME-Werte formatieren und ihre Syntax analysieren beschrieben.)
  • Von allen Zeichenfolgetypen (BIT, BLOB oder CHARACTER) nach:
    • DECIMAL
    • FLOAT (Gleitkommazahl)
    • INTEGER (Ganze Zahl)
  • In alle Zeichenfolgetypen (BIT, BLOB oder CHARACTER) von allen numerischen Datentypen, die im vorherigen Punkt aufgeführt wurden.
Der Formatierungsausdruck gliedert sich in drei Teile:
  1. Ein Untermuster zur Definition positiver Zahlen.
  2. Ein optionales Untermuster zur Definition negativer Zahlen. (Wenn nur ein Untermuster definiert ist, verwenden Sie das positive Muster mit einem vorangestellten Minuszeichen.)
  3. Die optionalen Parameter groupsep und decsep.

SYNTAX

Parameters

chars

Eine Folge von Null oder mehr Zeichen. Sie können alle Zeichen verwenden, ausgenommen der in Tabelle 1 aufgeführten Sonderzeichen.

decsep

Ein oder mehr Zeichen, die als Trennzeichen zwischen der ganzen Zahl und den Dezimalstellen der Zahl verwendet werden sollen (das Dezimaltrennzeichen). Standardmäßig wird der Punkt (.) als Dezimaltrennzeichen verwendet.

Ziffern

Eine Folge von einem oder mehreren numerischen Token (0 # - + , . ), aufgeführt in Tabelle 1.

groupsep

Ein oder mehr Zeichen, die als Trennzeichen zwischen Clustern von Ganzzahlen verwendet werden, um lange Zahlen lesbarer zu machen (das Blocktrennzeichen). Es gibt kein Standardblocktrennzeichen (d. h. es gibt keine Gruppierung von Ziffern oder Trennung von Gruppen).

Gruppiert wird in der Regel in Tausender-Schritten. Dies kann jedoch über das Muster oder die Ländereinstellung neu definiert werden. Es gibt zwei Gruppierungsgrößen:
Die primäre Gruppierungsgröße
Wird für die niedrigstwertigen ganzzahligen Ziffern verwendet.
Die sekundäre Gruppierungsgröße
Wird für alle anderen ganzzahligen Ziffern verwendet.
In den meisten Fällen sind die Größen der primären und sekundären Gruppierung identisch. Sie können aber auch unterschiedlich sein. Wenn z. B. das Muster #,##,##0 verwendet wird, beträgt die Größe der primären Gruppierung 3 und die der sekundären Größe 2. Die Zahl 123456789 wird zur Zeichenfolge "12,34,56,789".

Wenn Sie mehrere Blocktrennzeichen verwenden (wie im vorherigen Beispiel), definiert das Trennzeichen ganz rechts die primäre Größe und das vorletzte rechte Trennzeichen die sekundäre Größe.

Untermuster

Das Untermuster besteht aus folgenden Elementen:
  1. Einem optionalen Präfix (chars)
  2. Einem obligatorischen Muster für eine ganze Zahl
  3. Einem optionalen Muster für Dezimalstellen
  4. Einem optionalen Muster für einen Exponenten (die Potenz, um die die vorangegangene Zahl erhöht wird)
  5. Einem optionalen Suffix (chars)
Teile 2, 3 und 4 des Untermusters werden durch Token in der nachfolgenden Tabelle definiert.
Tabelle 1. Token zur Definition eines formatierenden Untermusters für Konvertierungen zwischen numerischen Datentypen und Zeichenfolgen
Token Steht für
0 Jede Ziffer einschließlich einer führenden Null.
# Jede Ziffer ausschließlich einer führenden Null.(Siehe Erläuterung des Unterschieds zwischen 0 und # weiter unten.)
. Dezimaltrennzeichen.
+ Präfix positiver Zahlen.
- Präfix negativer Zahlen.
, Blocktrennzeichen.
E/e Trennt die Zahl vom Exponenten.
; Untermustergrenzwert.
' Anführungszeichen zur Nennung von Sonderzeichen. Verwenden Sie in Ausgaben doppelte Anführungszeichen ('').
* Auffüllkennung. Das Zeichen nach dem Sternchen dient zur Auffüllung der Zahl, um die Länge dem Formatierungsmuster anzupassen.

Die Zeichen # und 0 werden für den Austausch von Ziffern verwendet. Sie unterscheiden sich darin, dass das Zeichen # entfernt wird, wenn es nicht durch eine Zahl ersetzt wird. Wenn z. B. die Zahl 10 mit dem Muster #,##0.00 formatiert wird, sieht das Ergebnis wie folgt aus: "10.00". Wird sie mit dem Muster 0,000.00 formatiert, lautet das Ergebnis "0,010.00".

Verwenden Sie zur Angabe von Auffüllzeichen ein Sternchen. Wenn ein Sternchen in eine der beiden chars-Bereiche (Präfix und Suffix) platziert wird, dienen die Zeichen, die direkt auf das Sternchen folgen, zum Auffüllen der Ausgabe. Das Auffüllen kann nur ein Mal festgelegt werden. Wird z. B. das Muster *x#,###,##0.00 auf die Zahl 1234 angewendet, lautet das Ergebnis: "xxx1,234.00". Angewendet auf die Zahl 1234567 ergibt es "1,234,567.00".

Beispiele für Formatierungsmuster

Tabelle 2. Beispiele für Formatierungsmuster mit den Zeichenfolgeausgaben von numerischen Eingabebeispielen
Muster Eingabezahl Ausgabezeichenfolge
+###,##0.00;-###,###,##0.00:groupsep='':decsep=, 123456789.123 "+123'456'789,12"
##0.00 1000000 "1000000.00"
##0.00 3.14159265 "3.14"
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05615_