将CLOB转换为NUMBER以进行比较 - Oracle

时间:2014-03-03 15:08:20

标签: sql oracle type-conversion sqldatatypes clob

我是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

如果无法做到这一点,哪种方法最好?

感谢您的时间和帮助。

2 个答案:

答案 0 :(得分:2)

将其作为varchar进行比较以消除错误消息:

WHERE TRIM(clob_field) = '100'

如果100周围没有任何空格,您可以跳过TRIM

WHERE clob_field = '100'

答案 1 :(得分:-1)

首先将其投放到VARCHAR2,然后投放到NUMBER

CAST(CAST(clob_field AS VARCHAR2(200)) AS NUMBER(10))