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 触发器中的字符到数字转换错误