Jika Anda menginginkan nilai hingga seperseribu tetapi tidak lebih dari bagian desimal maka Anda dapat mengalikannya dengan 1000 dan FLOOR
atau gunakan TRUNC
. Seperti ini:
SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM table_name;
atau:
SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM table_name;
Menggunakan TO_CHAR
hanya akan mengizinkan jumlah digit maksimum yang ditetapkan berdasarkan format mask (jika nilainya melebihi ukuran ini maka akan menampilkan #
s bukan angka) tetapi akan menangani angka negatif (menempatkan tanda minus sebelum angka nol di depan).
Menggunakan LPAD
akan mengizinkan ukuran input apa pun tetapi jika inputnya negatif, tanda minus akan berada di tengah string (setelah nol di depan).