具有 CLOB 数据类型的 NVL 函数

NVL function with CLOB datatype

我有这个问题:

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

我得到了这个错误:ORA-00932: inconsistent datatypes: expected - got 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_lob.getlength

嗯。 . . 运行 length() 先怎么样:

coalesce(length(exam.vl_result), 1)