Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So formatieren Sie Zahlen mit einem Minus-/Pluszeichen in Oracle

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