Używając TO_CHAR()
do formatowania liczby w Oracle Database, możesz użyć S
element formatu, aby zwrócić jego znak (tj. znak plus dla wartości dodatnich i znak minus dla wartości ujemnych).
Możesz także użyć MI
element formatu, aby zwrócić wartości ujemne z końcowym znakiem ujemnym, a wartości dodatnie z końcowym odstępem.
Przykład S
Formatuj element
Oto przykład demonstrujący S
element formatu:
SELECT
TO_CHAR(-7, 'S9') AS "Negative",
TO_CHAR(7, 'S9') AS "Positive"
FROM DUAL;
Wynik:
Negative Positive ___________ ___________ -7 +7
S
element formatu można alternatywnie zastosować na ostatniej pozycji modelu formatu. Powoduje to dołączenie znaku do wyniku:
SELECT
TO_CHAR(-7, '9S') AS "Negative",
TO_CHAR(7, '9S') AS "Positive"
FROM DUAL;
Wynik:
Negative Positive ___________ ___________ 7- 7+
Ale S
element formatu nie może pojawić się na obu końcach modelu formatu. Jeśli tak, pojawia się błąd:
SELECT TO_CHAR(7, 'S9S')
FROM DUAL;
Wynik:
Error report - ORA-01481: invalid number format model
MI
Formatuj element
MI
element formatu końcowy znak ujemny w przypadkach, gdy liczba jest ujemna, oraz końcowe puste miejsce, gdy liczba jest dodatnia:
SELECT
TO_CHAR(-7, '9MI') AS "Negative",
TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL;
Wynik:
Negative Positive ___________ ___________ 7- 7
Zauważ, że MI
element formatu może pojawić się tylko na ostatniej pozycji modelu formatu. Jeśli jest w innej pozycji, pojawia się błąd:
SELECT TO_CHAR(7, 'MI9')
FROM DUAL;
Wynik:
Error report - ORA-01481: invalid number format model