När du använder TO_CHAR()
funktion för att formatera ett tal i Oracle Database, kan du använda S
formatera element för att returnera dess tecken (dvs. ett plustecken för positiva värden och ett minustecken för negativa värden).
Du kan också använda MI
formatera element för att returnera negativa värden med ett avslutande negativt tecken och positiva värden med ett avslutande blanksteg.
Exempel på S
Formatera element
Här är ett exempel för att demonstrera 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 appliceras på formatmodellens sista position. Detta resulterar i att tecknet läggs till resultatet:
SELECT
TO_CHAR(-7, '9S') AS "Negative",
TO_CHAR(7, '9S') AS "Positive"
FROM DUAL;
Resultat:
Negative Positive ___________ ___________ 7- 7+
Men S
formatelement kan inte visas i båda ändarna av formatmodellen. Om det gör det, uppstår ett fel:
SELECT TO_CHAR(7, 'S9S')
FROM DUAL;
Resultat:
Error report - ORA-01481: invalid number format model
MI
Formatera element
MI
formatelement ett efterföljande negativt tecken i fall där talet är negativt, och ett avslutande blanksteg där det är positivt:
SELECT
TO_CHAR(-7, '9MI') AS "Negative",
TO_CHAR(7, '9MI') AS "Positive"
FROM DUAL;
Resultat:
Negative Positive ___________ ___________ 7- 7
Observera att MI
formatelement kan endast visas i den sista positionen i formatmodellen. Om den är i någon annan position uppstår ett fel:
SELECT TO_CHAR(7, 'MI9')
FROM DUAL;
Resultat:
Error report - ORA-01481: invalid number format model