在功能中,我在这一行上收到了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)) + ',';
我在这里看不到任何转换问题。 / 完全混淆 /
答案 0 :(得分:3)
oracle中的字符串连接运算符是||
,而不是+
。
字节码编译器尝试将总和的varchar2操作数自动转换为数字,并且可以预测会失败。