如何将具有十进制值的数字转换为PL / SQL中的浮点数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将具有十进制值的数字转换为PL / SQL中的浮点数?相关的知识,希望对你有一定的参考价值。

问题是我需要将此数字插入json,并且由于该数字包含逗号,因此json无效。浮点数会起作用,因为它包含句点而不是逗号。

我已经尝试过使用replace(v_decimalNumber,',','.')及其类似的功能,只是将json属性转换为字符串。我需要它来保留某种类型的数值。

如何实现?

我正在使用Oracle 11g。

答案

您只需要to_number()功能。

select to_number(replace('1,2', ',', '.')) float_nr from dual;

结果:

FLOAT_NR
1.2

请注意,如果您的电话号码具有.0之类的1.0,则该功能将其删除,仅保留1

以上是关于如何将具有十进制值的数字转换为PL / SQL中的浮点数?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用非默认 NLS_NUMERIC_CHARACTERS 在 Oracle PL/SQL 中有效地将文本转换为数字?

Oracle常用函数

获取 ORA-06502:PL/SQL:数字或值错误:SQL 触发器中的字符到数字转换错误

ORACLE常用函数汇总

如何将具有数字值的 char 数据类型的列转换为数字数据类型

pl/sql 从数字到字符串的转换