如何判断oracle大字段(clob)为空?

时间:2020-12-30 17:07:26
表里有个为clob的字段,我想查询这个字段为空的记录,用is null查不出来,用is not null却能查出来,但这个字段里确实什么数据都没有,请问大家应该怎么写SQL语句?

7 个解决方案

#1


--试一下:
select * from table_name where clob is null;


引用楼主 maple7667 的帖子:
表里有个为clob的字段,我想查询这个字段为空的记录,用is null查不出来,用is not null却能查出来,但这个字段里确实什么数据都没有,请问大家应该怎么写SQL语句?

#2


试过了呀,查不出来

#3


--assume x is a clob field
--x is null
--x equal to empth_clob, dbms_lob.getlength(x) = 0

select * from a where x is null or dbms_lob.getlength(x) = 0

#4


dbms_lob.getlength(x)这个是ORACLE里的函数吗?

#5


DBMS_LOB为专门处理大对象的一个包
DBMS_LOB.GETLENGTH是查大对象数据类型的大小
引用 4 楼 maple7667 的回复:
dbms_lob.getlength(x)这个是ORACLE里的函数吗?

#6


我测试发现,dbms_lob.getlength(x)中如果x为null的话,则为报错,要是这样的话,3楼的写法应该有问题啊!

#7


我用3楼的试过可以的啊  没问题啊    我没遇到你那个问题   ,如果真是那样要解决你那个问题也简单啊  你放个空“”,  不要让它为null就可以了啊

#1


--试一下:
select * from table_name where clob is null;


引用楼主 maple7667 的帖子:
表里有个为clob的字段,我想查询这个字段为空的记录,用is null查不出来,用is not null却能查出来,但这个字段里确实什么数据都没有,请问大家应该怎么写SQL语句?

#2


试过了呀,查不出来

#3


--assume x is a clob field
--x is null
--x equal to empth_clob, dbms_lob.getlength(x) = 0

select * from a where x is null or dbms_lob.getlength(x) = 0

#4


dbms_lob.getlength(x)这个是ORACLE里的函数吗?

#5


DBMS_LOB为专门处理大对象的一个包
DBMS_LOB.GETLENGTH是查大对象数据类型的大小
引用 4 楼 maple7667 的回复:
dbms_lob.getlength(x)这个是ORACLE里的函数吗?

#6


我测试发现,dbms_lob.getlength(x)中如果x为null的话,则为报错,要是这样的话,3楼的写法应该有问题啊!

#7


我用3楼的试过可以的啊  没问题啊    我没遇到你那个问题   ,如果真是那样要解决你那个问题也简单啊  你放个空“”,  不要让它为null就可以了啊