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
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 NLS_NUMERIC_CHARACTER) an der angegebenen Position in der Ziffernfolge zurück.
Einschränkung: Es darf nur ein Dezimalzeichen angegeben werden. |
G | 9G999 | Gibt das Gruppenseparatorzeichen (Parameter NLS_NUMERIC_CHARACTER) 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 NLS_CURRENCY) 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 NLS_ISO_CURRENCY 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. |