Sql 带有NLS\u数字\u字符的Oracle无效数字错误
我有一个Sql 带有NLS\u数字\u字符的Oracle无效数字错误,sql,oracle,oracle11g,oracle11gr2,Sql,Oracle,Oracle11g,Oracle11gr2,我有一个varchar2列需要转换为number 格式如下: +000000000000030203.38 数据库级别:NLS\u数字\u字符= 会话级别:NLS\u数字\u字符= 我试过: select to_number('+000000000000030203.38','S999999999999999999D99', 'NLS_NUMERIC_CHARACTERS='',.''') from MYTAB t 但它会抛出无效数字错误 这里的to_number函数的正确参数是什么?NLS
varchar2
列需要转换为number
格式如下:
+000000000000030203.38
数据库级别:NLS\u数字\u字符=
会话级别:NLS\u数字\u字符=
我试过:
select to_number('+000000000000030203.38','S999999999999999999D99', 'NLS_NUMERIC_CHARACTERS='',.''') from MYTAB t
但它会抛出无效数字
错误
这里的
to_number
函数的正确参数是什么?NLS_数值字符的第一个元素是十进制分隔符,第二个是千位分隔符
您提供的NLS\u数字\u字符优先,所以您的意思是数字将用逗号作为十进制分隔符,逗号作为千位分隔符来表示
请改用“NLS\u数字\u字符=“”.,“”