sql >> Databasteknik >  >> RDS >> Oracle

Hur man formaterar siffror med ett minus/plus-tecken i Oracle

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

  1. Benchmarking Managed PostgreSQL Cloud Solutions - Del fyra:Microsoft Azure

  2. Hur man snabbar på att ladda data från oracle sql till pandas df

  3. Charlotte SQL Server User Group:Fixa långsamma frågor. Snabb.

  4. Hur kan jag ge ett alias till ett bord i Oracle?