转换为数字时的 PL/SQL 数字或值错误

Posted

技术标签:

【中文标题】转换为数字时的 PL/SQL 数字或值错误【英文标题】:PL/SQL numeric or value error when converting to number 【发布时间】:2014-01-03 00:18:17 【问题描述】:

我正忙于一个小 PL/SQL 程序,当我收到错误“numeric or value error”时卡住了 我正在尝试使用 TO_NUMBER() 将仅包含数字的 varchar2 转换为数字。

我对 PL/SQL 比较陌生,所以我认为这真的很愚蠢:)

这是我的代码:

set serveroutput on
DECLARE    
vRearranged varchar(50);    
iNumber number(38);    
BEGIN    
vRearranged := 3214282912345698765432161100;    
iNumber := To_Number(vRearranged,   50);    
dbms_output.put_line(iNumber);    
END;

谁能帮帮我?

【问题讨论】:

【参考方案1】:

To_number()的第二个参数是格式图片,应该是一个字符串。

http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions211.htm#SQLRF06140

【讨论】:

【参考方案2】:

声明

vRearranged varchar2(50);

iNumber 数字(38);

开始

v重新排列 := 3214282912345698765432161100;

iNumber := To_Number(vRearranged);

dbms_output.put_line(iNumber);

结束;

【讨论】:

以上是关于转换为数字时的 PL/SQL 数字或值错误的主要内容,如果未能解决你的问题,请参考以下文章

执行立即错误:PL/SQL:数字或值错误:字符到数字转换错误

ORA-06502: PL/SQL: 数字或值错误: 字符到数字的转换错误

ORA-06502 PL/SQL:数字或值错误:字符到数字的转换错误;

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

Oracle ORA-06502 PL/SQL:数字或值错误:字符到数字的转换错误

错误 ORA-06502:PL/SQL:数字或值错误:字符到数字的转换错误 ORA-06512:在第 22 行