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