小枫客栈

淡泊以明志,宁静以致远。

Oracle计算CLOB字段的长度和字节大小

这两天群里在讨论一个关于clob字段长度和大小计算的问题,搜了一下网上确实没现成计算clob的函数。现提供一个计算clob字段大小的函数,以便各位同学使用。

CREATE OR REPLACE FUNCTION GET_CLOB_LENGTHB(P_STRING IN CLOB)
  RETURN INTEGER IS
  C_MAX_LENGTH CONSTANT INTEGER := 10922;
  I         INTEGER;
  V_LENGTH  INTEGER;
  V_LENGTHB INTEGER;
  V_STRING  VARCHAR2(32767);
BEGIN
  V_LENGTH  := NVL(DBMS_LOB.GETLENGTH(P_STRING), 1);
  I         := 1;
  V_LENGTHB := 0;
  WHILE (I <= V_LENGTH) LOOP
    V_STRING  := DBMS_LOB.SUBSTR(P_STRING, C_MAX_LENGTH, I);
    V_LENGTHB := V_LENGTHB + LENGTHB(V_STRING);
    I         := I + C_MAX_LENGTH;
  END LOOP;
  RETURN NVL(V_LENGTHB, 0);
END;
<< 1 >>

Powered By Z-BlogPHP 1.7.3

Copyright © 2024 Xiaofeng.org
豫ICP备16026559号-1