SQL*Plus mostrará eso por defecto (usando el separador decimal de su territorio):
SQL> select 1/3 from dual;
1/3
----------
.333333333
Podría usar set numformat
para cambiar el comportamiento:
SQL> set numformat "0D9999"
SQL> select 1/3 from dual;
1/3
-------
0.3333
... donde la D representa el separador decimal. O podría usar formato de columna, con un alias de columna:
SQL> set numformat ""
SQL> column answer format 0.000
SQL> select 1/3 as answer from dual;
ANSWER
------
0.333
Otros clientes tienen diferentes formas de controlar la salida predeterminada; SQL Developer se comporta de la misma manera, pero es posible que PL/SQL Developer, Toad, etc. no lo hagan.
O puede formatear el número como parte de la consulta, que no depende del cliente:
SQL> select to_char(1/3, '9990D99999') from dual;
TO_CHAR(1/3
-----------
0.33333
Sin embargo, debe proporcionar suficientes dígitos para la parte entera de lo que sea que esté calculando. Cualquier valor inferior a cero es simple, pero si hay demasiados dígitos antes del separador decimal, no se mostrará en absoluto:
SQL> select to_char(100000/3, '9990D99999') from dual;
TO_CHAR(100
-----------
###########