Quando si utilizza TO_CHAR()
per formattare un numero in Oracle Database, puoi usare la S
format per restituire il suo segno (ovvero un segno più per valori positivi e un segno meno per valori negativi).
Puoi anche usare il MI
format per restituire valori negativi con un segno negativo finale e valori positivi con uno spazio vuoto finale.
Esempio di S
Formato elemento
Ecco un esempio per dimostrare la S
elemento di formato:
SELECT
TO_CHAR(-7, 'S9') AS "Negative",
TO_CHAR(7, 'S9') AS "Positive"
FROM DUAL;
Risultato:
Negative Positive ___________ ___________ -7 +7
La S
L'elemento format può in alternativa essere applicato all'ultima posizione del modello di formato. Ciò comporta l'aggiunta del segno al risultato:
SELECT
TO_CHAR(-7, '9S') AS "Negative",
TO_CHAR(7, '9S') AS "Positive"
FROM DUAL;
Risultato:
Negative Positive ___________ ___________ 7- 7+
Ma la S
l'elemento format non può apparire su entrambe le estremità del modello di formato. In tal caso, si verifica un errore:
SELECT TO_CHAR(7, 'S9S')
FROM DUAL;
Risultato:
Error report - ORA-01481: invalid number format model
Il MI
Formato elemento
Il MI
elemento di formato un segno negativo finale nei casi in cui il numero è negativo e uno spazio vuoto finale dove è positivo:
SELECT
TO_CHAR(-7, '9MI') AS "Negative",
TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL;
Risultato:
Negative Positive ___________ ___________ 7- 7
Nota che il MI
l'elemento format può apparire solo nell'ultima posizione del modello di formato. Se si trova in un'altra posizione, si verifica un errore:
SELECT TO_CHAR(7, 'MI9')
FROM DUAL;
Risultato:
Error report - ORA-01481: invalid number format model