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

Posted

技术标签:

【中文标题】ORA-06502 PL/SQL:数字或值错误:字符到数字的转换错误;【英文标题】:ORA-06502 PL/SQL: numeric or value error: character to number conversion error; 【发布时间】:2014-05-08 14:55:53 【问题描述】:

在函数中,我在这一行出现 ORA-06502 错误:

newlist := LTRIM(RTRIM(newlist)) + ',';

CREATE OR REPLACE FUNCTION String_To_Int_Table
(
         list VARCHAR2
       , delimiter NCHAR DEFAULT ',' 
)
RETURN t_nested_table
AS

   value VARCHAR(11);
   position INT;
   newlist varchar2(4096);
   tableList t_nested_table;
...
newlist := list;
newlist := LTRIM(RTRIM(newlist)) + ',';

我在这里没有看到任何转换问题。 /完全糊涂/

【问题讨论】:

【参考方案1】:

oracle 中的字符串连接运算符是||,而不是+

字节码编译器尝试将总和的 varchar2 操作数自动转换为数字,并且可以预见地失败了。

【讨论】:

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

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

ORA-06502: PL/SQL: 数字或值错误: NULL 索引表键值

ORA-06502: PL/SQL: 数字或值错误: 数字精度太大

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

oracle ORA-06502:PL/SQL:数字或值错误:批量绑定:截断绑定

ORA - 06502:PL/SQL:数字或值错误:批量绑定:截断绑定