Lors de l'utilisation de TO_CHAR() fonction pour formater un nombre dans Oracle Database, vous pouvez utiliser le V élément de format pour renvoyer une valeur multipliée par 10 (et si nécessaire, arrondissez-la), où n est le nombre de 9 s après le V .
Exemples
Voici un exemple pour illustrer :
SELECT TO_CHAR(1, '9V9') FROM DUAL; Résultat :
10
Voici d'autres exemples :
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; Résultat :
99 999 9999 99999 999999 _______ ________ _________ __________ ____________ 100 1000 10000 100000 74000000
Voici quelques exemples qui utilisent des fractions :
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; Résultat :
r1 r2 r3 r4 _______ _______ _______ ____________ 123 23 -23 74893400
Nous pouvons utiliser le fm modificateur pour supprimer tout remplissage, tel que les espaces de début/fin :
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; Résultat :
r1 r2 r3 r4 ______ _____ ______ ___________ 123 23 -23 74893400
Arrondi
L'arrondi se produit si nécessaire :
SELECT
TO_CHAR(1.1152, '9V99')
FROM DUAL; Résultat :
112