«

»

Sep 20

Formatspezifizierer für die Konvertierung von Zahlen in Zeichenfolgen

Für die Konvertierung von Zahlen in Zeichenfolgen steht in Oracle SQL und PL/SQL die Funktion to_char(zahl [, fmt [, nlsparam]]) und für Zeichenfolgen in Zahlen die Funktion to_number(zeichenfolge [, fmt [, nlsparam]]) zur Verfügung. Zur Formatierung der Zahl als Zeichenfolge bzw. für die Interpretation der Zeichenfolge als Zahl kann optional eine Formatspezifizierung fmt angegeben werden. Eine Übersicht der möglichen Elemente für die Formatspezifizierung gibt die nachfolgende Tabelle.

Format-Element Beispiel Beschreibung
9 9999 Gibt die Zahl mit der angegebenen Anzahl an Stellen zurück (im Beispiel 4 Stellen), wobei die zurückgegebene Zeichenfolge

  • ein führendes Leerzeichen enthält, wenn die Zahl positiv ist und
  • ein führendes Minus-Zeichen enthält, wenn die Zahl negativ ist.

Führende Nullen werden als Leerzeichen dargestellt, bei der Zahl Null wird eine 0 zurückgegeben.

0 0999

9990

Gibt führende Nullen zurück.

Gibt nachfolgende Nullen zurück (für Dezimalteil von Festkomma-Zahlen)

MI 9999MI Gibt für negative Zahlen das Minus-Zeichen am Ende der Ziffernfolge zurück, bei positiven Zahlen wird der Ziffernfolge ein Leerzeichen nachgestellt.

Einschränkung: Der MI Formatspezifizierer darf nur am Ende der Formatspezifizierung angegeben werden.

B B9999 Gibt ein Leerzeichen statt einer 0 für den Integer-Teil eine Festkomma-Zahl zurück, wenn der Integer-Teil 0 ist.
S S9999

9999S

Gibt das Vorzeichen der Zahl (‚+‘ oder ‚-‚) am Anfang bzw. Ende der Ziffernfolge zurück.

Einschränkung: Der S Formatspezifizierer darf nur am Anfang oder am Ende der Formatspezifizierung angegeben werden.

D 99D99 Gibt das Dezimalzeichen (abhängig von der verwendeten Landeseinstellung, Parameter [cci_sql]NLS_NUMERIC_CHARACTER[/cci_sql]) an der angegebenen Position in der Ziffernfolge zurück.

Einschränkung: Es darf nur ein Dezimalzeichen angegeben werden.

G 9G999 Gibt das Gruppenseparatorzeichen (Parameter [cci_sql]NLS_NUMERIC_CHARACTER[/cci_sql]) an der angegebenen Position zurück.

Einschränkung: Im Dezimalanteil der Zahl darf kein Gruppenseparatorzeichen spezifiziert werden.

PR 9999PR Negative Zahlen werden in spitzen Klammern (<…>) zurückgegeben, positiven Zahlen wird ein Leerzeichen voran- und nachgestellt.

Einschränkung: Der PR Formatspezifizierer darf nur am Ende der Formatspezifizierung angegeben werden.

L L999 Gibt das lokale Währungszeichen (Parameter [cci_sql]NLS_CURRENCY[/cci_sql]) an der spezifischen Position zurück.
, (Komma) 9,999 Gibt ein Komma an der angegebenen Position zurück.

Einschränkungen: Der Formatspezifizierer darf nicht mit einem Komma beginnen und darf nicht rechts vom Dezimaltrennzeichen (D oder Punkt) angegeben werden.

. (Punkt) 9.999 Gibt ein Punkt an der angegebenen Position zurück.

Einschränkung: Es darf nur ein Punkt in der Formatspezifizierung angegeben werden.

RN RN Gibt die Zahl als römische Zahl mit großen Buchstaben zurück. Gültig nur für Ganzzahlen im Bereich zwischen 1 und 3999.
rn rn Gibt die Zahl als römische Zahl mit kleinen Buchstaben zurück. Gültig nur für Ganzzahlen im Bereich zwischen 1 und 3999.
FM FM90.9 Gibt die Zahl ohne führende und nachfolgende Leerzeichen zurück.
V 999V99 Gibt die Zahl als Vielfaches von 10n zurück (ggf. aufgerundet), wobei n durch die Anzahl der 9nen nach dem „V“ angegeben wird.
EEEE 9.9EEEE Gibt die Zahl in wissenschaftlicher Notation zurück
C C999 Gibt das ISO Währungssymbol an der angegebenen Position zurück (aktueller Wert des [cci_sql]NLS_ISO_CURRENCY[/cci_sql] Parameters)
$ $9999 Gibt das Dollar-Zeichen zurück
X XXXX

xxxx

Gibt die Zahl in hexadezimaler Notation (mit Groß- bzw. Kleinbuchstaben) zurück. Ist die Zahl keine Integer-Zahl, wird diese zunächst auf eine Integerzahl gerundet.

Einschränkungen: Die Zahl muss positiv sein, negative Zahlen erzeugen einen Fehler. Der Formatspezifizierer X bzw. x kann nur mit den Spezifizierern 0 oder FM kombiniert werden.

siehe auch