Oracle 10g 浮点格式

Posted

技术标签:

【中文标题】Oracle 10g 浮点格式【英文标题】:Oracle 10g Float format 【发布时间】:2010-01-24 15:58:57 【问题描述】:

如何从浮点/十进制值返回:

SELECT 210 
  FROM DUAL

...得到:

210.00 

...而不是210?

使用 pl/sql oracle 10g

【问题讨论】:

【参考方案1】:
SELECT TO_CHAR(210, '999.99') FROM dual;

更多to_char相关格式here.

【讨论】:

【参考方案2】:

用途:

SELECT CAST(210 AS NUMBER(3,2))
  FROM DUAL

...获取数值数据类型的值。 TO_CHAR 可以使用过滤器,但会以字符串形式返回输出。

参考:

CAST TO_CHAR

【讨论】:

1.此查询引发 ORA-01438。 2.CAST不能在小数点后加零。 TO_CHAR 是唯一的解决方案。【参考方案3】:

您可以使用 to_char 函数传入可选格式字符串,例如to_char(210.00,'000.00') 会给出想要的结果。谷歌搜索“oracle中的数字格式”,你会发现一些很好的格式字符串示例。

编辑 查找“数字格式元素”here。

【讨论】:

以上是关于Oracle 10g 浮点格式的主要内容,如果未能解决你的问题,请参考以下文章

将整数转换为新的浮点格式

Oracle数据库 如何把浮点型数1.23456789转换为只保留两位小数1.23

从 IEEE 754-2008 十进制浮点数据转换为二进制浮点格式

在 C++ 和 Oracle 数据库之间传递数据时的浮点精度问题

逆向工程未知浮点格式

Pandas 样式的默认浮点格式