Se vuoi il valore fino ai millesimi ma non più della parte decimale, puoi moltiplicare per 1000 e FLOOR
oppure usa TRUNC
. In questo modo:
SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM table_name;
oppure:
SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM table_name;
Usando TO_CHAR
consentirà solo un numero massimo di cifre impostato in base alla maschera del formato (se il valore supera questa dimensione verrà visualizzato #
s invece dei numeri) ma gestirà i numeri negativi (mettendo il segno meno prima degli zeri iniziali).
Usando LPAD
consentirà qualsiasi dimensione di input, ma se l'input è negativo il segno meno sarà al centro della stringa (dopo gli zeri iniziali).