我有一个表格,其中的数字存储为varchar2
“。” 作为小数分隔符(例如“5.92843”)。
我想使用“,”来计算这些数字,因为这是系统默认值,并使用以下to_number
方法来执行此操作:
TO_NUMBER(number,'99999D9999','NLS_NUMERIC_CHARACTERS = ''.,''')
我的问题是某些数字可能很长,因为该字段是VARCHAR2(100)
,并且当它比我定义的格式长时,我会to_number
失败并显示ORA-01722
.
有什么方法可以定义动态数字格式吗?只要我可以设置十进制字符,我并不真正关心格式。