Zahlen als Zeichenfolge formatieren und ihre Syntax analysieren

Bei Konvertierungen zwischen Zeichenfolgedatentypen und numerischen Datentypen kann im FORMAT-Parameter der CAST-Funktion ein optionaler Formatierungsausdruck angegeben werden.

Bei Konvertierungen aus Zeichenfolgetypen legt der Formatierungsausdruck fest, wie die Quellenzeichenfolge syntaktisch analysiert werden soll, um den Zieldatentyp zu füllen.

Bei Konvertierungen in Zeichenfolgetypen bestimmt der Formatierungsausdruck, wie die Daten im Quellenausdruck in der Zielzeichenfolge formatiert werden sollen.

Ein FORMAT-Ausdruck kann für die folgenden numerischen Konvertierungen angegeben werden. (Die Angabe eines FORMAT-Ausdrucks für Datum/Uhrzeit-Konvertierungen wird im Abschnitt DATETIME-Werte formatieren und ihre Syntax analysieren beschrieben.)
  • Aus einem der Zeichenfolgedatentypen (BIT, BLOB oder CHARACTER) in:
    • DECIMAL
    • FLOAT (Gleitkommazahl)
    • INTEGER (Ganze Zahl)
  • Eine der Zeichenfolgedatentypen (BIT, BLOB oder CHARACTER) aus einem der numerischen Datentypen aus der vorherigen Liste.
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 außer den unter Untermuster aufgeführten Sonderzeichen verwenden.

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 # - + , . ), die unter Untermuster aufgeführt sind.

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 primäre und die sekundäre Gruppierung gleich groß, dies muss jedoch nicht so 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".

Bei Verwendung mehrerer Blocktrennzeichen (wie im vorherigen Beispiel) definiert das Trennzeichen ganz rechts die primäre Größe und das Trennzeichen unmittelbar daneben 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.
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 für Sonderzeichen. Wenn in der Ausgabe ein Anführungszeichen gesetzt werden muss, ist dieses zu verdoppeln ('').
* 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 1234 angewandt, ergibt dies "xxx1,234.00". Bei Anwendung auf die Zahl 1234567 lautet das Ergebnis "1,234,567.00".

Beispiele für Formatierungsmuster

In der folgenden Tabelle sind Formatierungsmuster sowie die Zeichenfolgen aufgeführt, die sich aus der numerischen Mustereingabe ergeben.

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 | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:29:30

ak05615_