Oracle,CLOB尺寸报告

时间:2015-08-20 15:34:02

标签: sql oracle count group-by clob

我有一个带有Clob列的表。 我想创建一个报告,告诉我每组X CLOB大小存在多少行

例如,如果步骤是100K:

 Row Count   Clob size
----------- -------------
 10            0k - 100K
 5           100k - 200K
 3           200k - 300K

如何查询并动态设置100个字符或100K字符的步长?

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效(nb。我已经使用了10kb的块;你需要修改你所追求的任何大小的块):

select row_count,
       clob_size_group||' - '||(clob_size_group + 10) clob_size_group
from   (select count(*) row_count,
               floor((dbms_lob.getlength(clob_col)/1000) -- kb
                  /10)*10 clob_size_group -- separate into groups of 10kb
        from   your_table
        group by floor((dbms_lob.getlength(clob_col)/1000)
                    /10)*10)
order by clob_size_group;

另外,值得注意的是dbms_lob.getlength将返回CLOB的字符数而不是字节数(对于BLOB而言),因此如果您有多字节字符,则可能与实际大小不同

相关问题