Wenn Sie den Wert bis zum Tausendstel wollen, aber nicht mehr Dezimalstellen, dann können Sie mit 1000 und entweder FLOOR
multiplizieren oder verwenden Sie TRUNC
. So:
SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM table_name;
oder:
SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM table_name;
Verwenden von TO_CHAR
erlaubt nur eine festgelegte maximale Anzahl von Ziffern basierend auf der Formatmaske (wenn der Wert diese Größe überschreitet, wird #
angezeigt s anstelle von Zahlen), aber es wird mit negativen Zahlen umgehen (indem das Minuszeichen vor die führenden Nullen gesetzt wird).
Mit LPAD
erlaubt jede Eingabegröße, aber wenn die Eingabe negativ ist, steht das Minuszeichen in der Mitte der Zeichenkette (nach führenden Nullen).