Hvis du vil have værdien op til tusindedele, men ikke mere af decimaldelen, kan du gange med 1000 og enten FLOOR
eller brug TRUNC
. Sådan:
SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM table_name;
eller:
SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM table_name;
Bruger TO_CHAR
vil kun tillade et fastsat maksimalt antal cifre baseret på formatmasken (hvis værdien går over denne størrelse, vil den vise #
s i stedet for tal), men den håndterer negative tal (placerer minustegnet før de foranstillede nuller).
Brug af LPAD
vil tillade enhver størrelse af input, men hvis input er negativt vil minustegnet være i midten af strengen (efter eventuelle indledende nuller).