Sql 具有CLOB数据类型的NVL函数
我有一个疑问:Sql 具有CLOB数据类型的NVL函数,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,我有一个疑问: 从检查中选择长度(NVL(exam.vl_result,”) 我得到了这个错误:ORA-00932:不一致的数据类型:预期-得到CLOB 列vl_result是CLOB,但在这种情况下我需要使用NVL。有没有办法将NVL与数据类型CLOB一起使用?如果没有,那么获得类似查询的最佳方法是什么。使用case..when如下: select case when exam.vl_result is null then 1 else LENGTH(exam.vl_
从检查中选择长度(NVL(exam.vl_result,”)代码>
我得到了这个错误:ORA-00932:不一致的数据类型:预期-得到CLOB
列vl_result
是CLOB,但在这种情况下我需要使用NVL。有没有办法将NVL与数据类型CLOB一起使用?如果没有,那么获得类似查询的最佳方法是什么。使用case..when
如下:
select case when exam.vl_result is null then 1
else LENGTH(exam.vl_result)
end
from exam;
注意:要查找clob的长度,请使用dbms\u lob.getlength
使用case..when
如下所示:
select case when exam.vl_result is null then 1
else LENGTH(exam.vl_result)
end
from exam;
注意:要查找clob的长度,请使用dbms\u lob.getlength
Hmmm。先运行length()
怎么样:
coalesce(length(exam.vl_result), 1)
嗯。先运行length()
怎么样:
coalesce(length(exam.vl_result), 1)
我正在使用Oracle11g,能够将NVL与clob列一起使用。事实上,我提出了和你一样的问题,这对我很有效。您使用的是哪个oracle版本?没有理由我使用的是oracle 10g:(然后尝试下面的解决方案,如果它们适合您,我使用的是oracle 11g,并且能够将NVL与clob列一起使用。事实上,我使用了与您相同的查询,它对我有效。您使用的是哪个oracle版本?没有理由我使用的是oracle 10g:(然后尝试下面给出的解决方案,如果它们对您有效,它工作得很好,谢谢!它工作得很好,谢谢!它工作得很好,但我还有另外一个功能,例如NVL(clob.)。但是谢谢!它工作得很好,但是我还有另外一个功能,例如NVL(clob.)。但是谢谢!