Når du bruger TO_CHAR()
funktion til at formatere et tal i Oracle Database, kan du bruge S
formater element for at returnere dets fortegn (dvs. et plustegn for positive værdier og et minustegn for negative værdier).
Du kan også bruge MI
formater element for at returnere negative værdier med et efterfølgende negativt fortegn og positive værdier med et efterfølgende blankt tegn.
Eksempel på S
Formater element
Her er et eksempel til at demonstrere S
formatelement:
SELECT
TO_CHAR(-7, 'S9') AS "Negative",
TO_CHAR(7, 'S9') AS "Positive"
FROM DUAL;
Resultat:
Negative Positive ___________ ___________ -7 +7
S
formatelement kan alternativt anvendes på den sidste position af formatmodellen. Dette resulterer i, at tegnet føjes til resultatet:
SELECT
TO_CHAR(-7, '9S') AS "Negative",
TO_CHAR(7, '9S') AS "Positive"
FROM DUAL;
Resultat:
Negative Positive ___________ ___________ 7- 7+
Men S
formatelementet kan ikke vises i begge ender af formatmodellen. Hvis den gør det, opstår der en fejl:
SELECT TO_CHAR(7, 'S9S')
FROM DUAL;
Resultat:
Error report - ORA-01481: invalid number format model
MI
Formater element
MI
formatelement et efterfølgende negativt tegn i tilfælde, hvor tallet er negativt, og et efterfølgende blankt tegn, hvor det er positivt:
SELECT
TO_CHAR(-7, '9MI') AS "Negative",
TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL;
Resultat:
Negative Positive ___________ ___________ 7- 7
Bemærk, at MI
formatelement kan kun vises i den sidste position i formatmodellen. Hvis den er i en anden position, opstår der en fejl:
SELECT TO_CHAR(7, 'MI9')
FROM DUAL;
Resultat:
Error report - ORA-01481: invalid number format model