【发布时间】:2011-09-22 17:40:28
【问题描述】:
我有一个信息,我假设它是 char 类型,因为我有以下信息(dbms_output.put_line 是一个类似“print”的函数,返回值在 --> 之后):
dbms_output.put_line( table_record.column_1 ); --> 0.6
dbms_output.put_line( UPPER(table_record.column_1) ); --> 0.6
dbms_output.put_line( LOWER(table_record.column_1) ); --> 0.6
但我不希望那样。我想将此列转换为 FLOAT 类型。当我尝试时:
dbms_output.put_line( to_number(crate_record.column_1) );
我有 ORA-06502:PL/SQL:数字或值错误:字符到数字的转换错误。
为什么 to_number 不起作用?
【问题讨论】:
-
TO_NUMBER 将尝试解析由
NLS_NUMERIC_CHARACTERS设置定义的小数分隔符的数字 - 您的会话中设置的NLS_NUMERIC_CHARACTERS是什么?参考文献docs.oracle.com/cd/B28359_01/olap.111/b28126/dml_options072.htm
标签: oracle10g