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