【发布时间】:2014-04-04 16:54:49
【问题描述】:
我是 oracle 新手,我的问题很简单,可以将 CLOB 字段转换为 NUMBER 类型进行比较。
我尝试过使用 CAST 以及 TO_NUMBER 函数,但我没有得到任何工作。
我的尝试:
WHERE TO_NUMBER(clob_field) = 100 -> Error ORA-01722: NOT a valid number
WHERE CAST(clob_field as NUMBER) = 100 -> Error ORA-00932:Inconsistent datatypes
如果这不可能,那么最好的方法是什么?
感谢您的时间和帮助。
【问题讨论】:
-
您的
clob_field至少在其中一行中有一个非数字..! -
如果您需要将 CLOB 与数字进行比较,那么您应该检查您的数据库模型,因为有些地方不正确。
-
是来自开源软件项目的数据库,有必要这样做,以便从另一个数据库进行数据迁移......我希望从零开始,但规格是给定...
-
@OracleUser 那么我应该尝试转换为 varchar 然后转换为数字?¿ 或类似的东西......
-
@Tommy - 您需要查看列中的值,看看它们是否看起来像数字,如果它们通常是数字,那么它们是不可转换的。使用
clob来保存足够短的文本值来表示一个数字似乎仍然很奇怪。 (您可以调整 this answer 中的 PL/SQL 块以显示哪些值不是数字)。
标签: sql oracle type-conversion sqldatatypes clob