Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Über das V-Format-Element in Oracle

Bei Verwendung von TO_CHAR() Funktion zum Formatieren einer Zahl in der Oracle-Datenbank können Sie den V verwenden format-Element zu a gibt einen mit 10 multiplizierten Wert zurück (und rundet ihn gegebenenfalls auf), wobei n ist die Zahl von 9 s nach dem V .

Beispiele

Hier ist ein Beispiel zur Veranschaulichung:

SELECT TO_CHAR(1, '9V9') FROM DUAL;

Ergebnis:

10

Hier sind einige weitere Beispiele:

SELECT 
    TO_CHAR(1, '9V99') AS "99",
    TO_CHAR(1, '9V999') AS "999",
    TO_CHAR(1, '9V9999') AS "9999",
    TO_CHAR(1, '9V99999') AS "99999",
    TO_CHAR(74, '99V999999') AS "999999"
FROM DUAL;

Ergebnis:

     99      999      9999      99999       999999 
_______ ________ _________ __________ ____________ 
 100     1000     10000     100000     74000000   

Hier sind einige Beispiele, die Brüche verwenden:

SELECT 
    TO_CHAR(1.23, '9V99') AS "r1",
    TO_CHAR(0.23, '9V99') AS "r2",
    TO_CHAR(-0.23, '9V99') AS "r3",
    TO_CHAR(74.8934, '99V999999') AS "r4"
FROM DUAL;

Ergebnis:

     r1      r2      r3           r4 
_______ _______ _______ ____________ 
 123      23     -23     74893400    

Wir können den fm verwenden Modifikator zum Unterdrücken jeglicher Auffüllung, wie führende/nachgestellte Leerzeichen:

SELECT 
    TO_CHAR(1.23, 'fm9V99') AS "r1",
    TO_CHAR(0.23, 'fm9V99') AS "r2",
    TO_CHAR(-0.23, 'fm9V99') AS "r3",
    TO_CHAR(74.8934, 'fm99V999999') AS "r4"
FROM DUAL;

Ergebnis:

    r1    r2     r3          r4 
______ _____ ______ ___________ 
123    23    -23    74893400    

Rundung

Gegebenenfalls wird gerundet:

SELECT 
    TO_CHAR(1.1152, '9V99')
FROM DUAL;

Ergebnis:

112