Bei Verwendung von TO_CHAR() Funktion zum Formatieren einer Zahl in Oracle Database können Sie den S verwenden format-Element, um sein Vorzeichen zurückzugeben (d. h. ein Pluszeichen für positive Werte und ein Minuszeichen für negative Werte).
Sie können auch die MI verwenden format-Element, um negative Werte mit einem abschließenden negativen Vorzeichen und positive Werte mit einem abschließenden Leerzeichen zurückzugeben.
Beispiel für S Formatelement
Hier ist ein Beispiel zur Veranschaulichung des S Formatelement:
SELECT
TO_CHAR(-7, 'S9') AS "Negative",
TO_CHAR(7, 'S9') AS "Positive"
FROM DUAL; Ergebnis:
Negative Positive ___________ ___________ -7 +7
Das S formatelement kann alternativ an der letzten Position des Formatmodells angewendet werden. Dies führt dazu, dass das Zeichen an das Ergebnis angehängt wird:
SELECT
TO_CHAR(-7, '9S') AS "Negative",
TO_CHAR(7, '9S') AS "Positive"
FROM DUAL; Ergebnis:
Negative Positive ___________ ___________ 7- 7+
Aber das S format-Element kann nicht an beiden Enden des Formatmodells erscheinen. Wenn dies der Fall ist, tritt ein Fehler auf:
SELECT TO_CHAR(7, 'S9S')
FROM DUAL; Ergebnis:
Error report - ORA-01481: invalid number format model
Der MI Formatelement
Die MI Formatelement ein abschließendes negatives Vorzeichen, wenn die Zahl negativ ist, und ein abschließendes Leerzeichen, wenn sie positiv ist:
SELECT
TO_CHAR(-7, '9MI') AS "Negative",
TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL; Ergebnis:
Negative Positive ___________ ___________ 7- 7
Beachten Sie, dass die MI Formatelement darf nur an letzter Stelle des Formatmodells stehen. Befindet es sich an einer anderen Position, tritt ein Fehler auf:
SELECT TO_CHAR(7, 'MI9')
FROM DUAL; Ergebnis:
Error report - ORA-01481: invalid number format model