Nếu bạn muốn giá trị lên đến phần nghìn nhưng không có phần thập phân thì bạn có thể nhân với 1000 và FLOOR
hoặc sử dụng TRUNC
. Như thế này:
SELECT TO_CHAR( TRUNC( value * 1000 ), '00000009' )
FROM table_name;
hoặc:
SELECT LPAD( TRUNC( value * 1000 ), 8, '0' )
FROM table_name;
Sử dụng TO_CHAR
sẽ chỉ cho phép một số chữ số tối đa được đặt dựa trên mặt nạ định dạng (nếu giá trị vượt quá kích thước này thì nó sẽ hiển thị #
s thay vì số) nhưng nó sẽ xử lý các số âm (đặt dấu trừ trước các số không ở đầu).
Sử dụng LPAD
sẽ cho phép bất kỳ kích thước đầu vào nào nhưng nếu đầu vào là âm thì dấu trừ sẽ ở giữa chuỗi (sau bất kỳ số 0 nào ở đầu).