Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để đệm các số 0 cho một trường số?

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).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khung thực thể không thể cập nhật dữ liệu trong bảng bằng khóa tổng hợp (Oracle)

  2. Công cụ tích hợp dữ liệu Oracle (ODI)

  3. Cách khai báo ngoại lệ do người dùng xác định bằng biến ngoại lệ trong cơ sở dữ liệu Oracle

  4. ORA-00838

  5. lưu ký tự đặc biệt ansi trong cơ sở dữ liệu oracle bằng php