它不是以指数形式存储,而是以Oracle内部数字表示形式存储。查询时,它将以您会话的当前数字格式显示:
select 0.0000000555559080767 from dual;
0.0000000555559080767
---------------------------------------
5.6E-08
您可以在sql * Plus或sql Developer中覆盖以下内容:
set numformat 999.9999999999999999999
select 0.0000000555559080767 from dual;
0.0000000555559080767
------------------------
.0000000555559080767
或将值显式格式化为字符串,仅用于显示:
set numf ""
select to_char(0.0000000555559080767, '9990.9999999999999999999') from dual;
TO_CHAR(0.000000055555908
-------------------------
0.0000000555559080767
如果您有一个客户端应用程序检索并使用该值,则它应以浮点数的形式查询该值,并将其转换为适合该客户端语言的数据类型,然后由客户端决定如何显示该值。
您也不应该在float列中插入字符串,而只是进行隐式转换。您插入内容中的最后一个参数应该是0.0000000555559080767
引号而不是引号'0.0000000555559080767'
。