1
我需要在一个包中创建一个集合,但我不知道错误在哪里...Oracle - 类型表 - 收集方法在IF语句中存在 - ORA-06502:PL/SQL:错误:字符到数字转换错误
这是我的声明和初始化:
avversao varchar2(30);
TYPE tListaVersaoHomologada IS TABLE OF NVARCHAR2(30);
vVersaoHomologada tListaVersaoHomologada := tListaVersaoHomologada('0.06', '0.07');
而这正是引发异常
if NOT(vVersaoHomologada.EXISTS(avversao)) then
...
end if;
变量
avversao
具有值之一:
- 0.06
- 0.07
参考:
Using PL/SQL Collections and Records
为什么你使用'NVARCHAR2'的数值? –
@WernfriedDomscheit不是我的代码,但我想是因为本地化/区域定义...代码是在小数点分隔符是逗号而不是点的国家编写的。 Oracle是否总是将小数点分隔符视为逗号? – akaAndyDaSilva
小数分隔符由NLS设置管理。默认是美式的,但很容易将NLS_NUMERIC_CHARCTERS设置为任何你需要的 – APC