在oracle中,如何用selece语句 查询数据表中的某个大数据字段的字节数。

详细情况是这样:这是个图片表,图片用大数据字段保存,想把小于某个字节数的图片编号查询出来。
实际上是这样的:我是想把缺图片的数据查询出来,但是不知是应用程序的问题还是什么问题,用户在应用界面插入的没有图片的记录,在数据库中该记录的图片字段中都好像有数据,我在PL/sql中用is not unll过滤根本过滤不出来,但在PL/sql中直接点击这个字段就可以看到有的有图片,有的没有,所以我才想出查询字节数的办法。
用函数或过程的话太麻烦了,一方面不太懂,另外,数据库有些限制。

你的大数据字段应该是CLOB或者什么类型吧,好像没法直接获取到它的字节数,
不过有一个解决办法,你可以参考一下:
DBMS_LOB包中有个函数:getlength可以获取到CLOB的长度(按字符来的)。
而LENGTHB可以计算字符的字节长度,两个结合使用的话,需要自己定义一个函数。
你可以参照如下的内容。
http://www.itpub.net/viewthread.php?tid=475260#

------------------------------------------------------
补充回答:
根据你的描述,实际上重点不在获取长度,而在于判断是否存在,如果没有设置值的话,实际上IS NULL是可以判断出来的(经过了验证),如果还不好使的话,那我建议你这样使用:
SELECT * FROM 表名 WHERE NVL(dbms_lob.getlength(列名),0) = 0
只不过,这样的效率比较低下。
温馨提示:答案为网友推荐,仅供参考
相似回答