0
我想使用to_number函数将varchar列转换为数字,但我在理解Oracle尝试执行SQL的顺序时遇到了一些问题。Oracle - 将to_number函数应用于varchar列
声明如下所示;
select * from table where column is not null and to_number(column, '999.9') > 20
当Oracle执行此操作时,会引发无效的数字异常。我知道Oracle使用某种关系代数公式优化了SQL语句,但是有人能告诉我如何安全地使用to_number运算符来实现我的目标吗?
列中有一些非空值无法转换为数字 –
为什么非空值是一个问题? – cduggan
,因为空值是由'不是空'(我认为to_number也不会窒息他们,但只是通过null) – Thilo