Itu tidak disimpan sebagai eksponensial, itu disimpan dalam representasi nomor internal Oracle. Saat Anda menanyakannya, itu ditampilkan dengan format nomor sesi Anda saat ini:
select 0.0000000555559080767 from dual;
0.0000000555559080767
---------------------------------------
5.6E-08
Yang dapat Anda timpa di SQL*Plus atau SQL Developer:
set numformat 999.9999999999999999999
select 0.0000000555559080767 from dual;
0.0000000555559080767
------------------------
.0000000555559080767
Atau format nilai secara eksplisit sebagai string, hanya untuk tampilan:
set numf ""
select to_char(0.0000000555559080767, '9990.9999999999999999999') from dual;
TO_CHAR(0.000000055555908
-------------------------
0.0000000555559080767
Jika Anda memiliki aplikasi klien yang mengambil dan menggunakan nilai, maka aplikasi tersebut harus menanyakannya sebagai float, menjadi tipe data yang sesuai untuk bahasa klien, dan terserah klien bagaimana menampilkannya.
Anda juga tidak boleh memasukkan string ke dalam kolom float, yang hanya melakukan konversi implisit; argumen terakhir di sisipan Anda harus 0.0000000555559080767
daripada '0.0000000555559080767'
. yang dikutip .