我是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
如果无法做到这一点,哪种方法最好?
感谢您的时间和帮助。
答案 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))