Oracle中的To_NUMBER函数

时间:2018-01-11 10:08:32

标签: oracle type-conversion

我正在学习SQL。我在理解这个问题时遇到了问题。为什么TO_NUMBER函数接受第一个查询中的值并返回请求的格式,即使包含$符号?但是,在第二个查询中它不接受该值。有人可以帮我解释一下这是如何工作的吗?

SQL> select to_number('$234.55','$99,999.00') from dual;

TO_NUMBER('$234.55','$99,999.00')
---------------------------------
               234.55

SQL> select to_number('$234.55') from dual;
select to_number('$234.55') from dual
                 *
ERROR at line 1:
ORA-01722: invalid number

1 个答案:

答案 0 :(得分:0)

因为" $"没有格式的to_number无法识别。 如果你想使用" $"需要写格式: SQL Fiddle:

select to_number('$234.55','$99,999.00') from dual;

select to_number('$234.55','$99,999.00') from dual; 
select to_number('$234.55','$99,999.00') from dual;

select to_number('234.55') from dual; 
select to_number('234.55') from dual;