Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有CLOB数据类型的NVL函数_Sql_Oracle_Oracle10g - Fatal编程技术网

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.)。但是谢谢!