CLOB数据类型的NVL函数



我有这样的查询:

select LENGTH(NVL(exam.vl_result,' ')) from exam;

我得到了这个错误:ORA-00932: inconsistent datatypes: expected - got CLOB

vl_result是CLOB,但在这种情况下我需要使用NVL。是否有任何方法使用数据类型CLOB的NVL ?如果没有,那么获得类似查询的最佳方法是什么?

使用case..when如下:

select case when exam.vl_result is null then 1 
else LENGTH(exam.vl_result) 
end 
from exam;

注意:使用dbms_lob.getlength

查询clob的长度

嗯…不如先运行length():

coalesce(length(exam.vl_result), 1)