SQL*Plus pokaże to domyślnie (używając separatora dziesiętnego Twojego terytorium):
SQL> select 1/3 from dual;
1/3
----------
.333333333
Możesz użyć set numformat
aby zmienić zachowanie:
SQL> set numformat "0D9999"
SQL> select 1/3 from dual;
1/3
-------
0.3333
... gdzie D oznacza separator dziesiętny. Możesz też użyć formatowania kolumny z aliasem kolumny:
SQL> set numformat ""
SQL> column answer format 0.000
SQL> select 1/3 as answer from dual;
ANSWER
------
0.333
Inni klienci mają różne sposoby kontrolowania domyślnego wyjścia; SQL Developer zachowuje się prawie tak samo, ale PL/SQL Developer, Toad itp. mogą nie.
Możesz też sformatować liczbę jako część zapytania, która nie jest zależna od klienta:
SQL> select to_char(1/3, '9990D99999') from dual;
TO_CHAR(1/3
-----------
0.33333
Musisz jednak podać wystarczającą liczbę cyfr dla części całkowitej tego, co obliczasz. Wszystko mniejsze od zera jest proste, ale jeśli przed separatorem dziesiętnym jest zbyt wiele cyfr, to w ogóle się nie wyświetli:
SQL> select to_char(100000/3, '9990D99999') from dual;
TO_CHAR(100
-----------
###########