SQL*Plus affichera cela par défaut (en utilisant le séparateur décimal de votre territoire) :
SQL> select 1/3 from dual;
1/3
----------
.333333333
Vous pouvez utiliser set numformat
pour changer le comportement :
SQL> set numformat "0D9999"
SQL> select 1/3 from dual;
1/3
-------
0.3333
... où le D représente le séparateur décimal. Ou vous pouvez utiliser le formatage des colonnes, avec un alias de colonne :
SQL> set numformat ""
SQL> column answer format 0.000
SQL> select 1/3 as answer from dual;
ANSWER
------
0.333
D'autres clients ont différentes manières de contrôler la sortie par défaut; SQL Developer se comporte à peu près de la même manière, mais PL/SQL Developer, Toad, etc. pourraient ne pas l'être.
Ou vous pouvez formater le nombre dans le cadre de la requête, qui ne dépend pas du client :
SQL> select to_char(1/3, '9990D99999') from dual;
TO_CHAR(1/3
-----------
0.33333
Vous devez cependant fournir suffisamment de chiffres pour la partie entière de tout ce que vous calculez. Tout ce qui est inférieur à zéro est simple, mais s'il y a trop de chiffres avant le séparateur décimal, il ne s'affichera pas du tout :
SQL> select to_char(100000/3, '9990D99999') from dual;
TO_CHAR(100
-----------
###########