关于blob,clob,varchar2

blob:二进制大对象(binary large object),用来存储大量二进制数据,在oracle中,通常视频音频图片等信息就用blob现将文件信息转化为二进制信息来存储

blob可存储的最大大小为4GB

clob:大字符对象(character large object),用来存储大量文本数据,文章或者是较长的文字就用clob来存储,可存储的最大大小为4GB.

简单的说就是,clob可以存储字节字符数据(只能存储字符,txt),blob(所有文件)可以存储无结构的二进制数据

varchar2类型的长度限制

--schema级varchar2的长度限制都是4000,而在PL/SQL代码级的长度限制是32767

CREATE OR REPLACE FUNCTION FUNNY RETURN A IS

  A VARCHAR2(32767);

BEGIN

  A := LPAD('a', 4001, 'b');

  RETURN A;

END;

 

 

SELECT * FROM t;

 

SELECT * FROM t1;

--oracle本身对于varchar2的上限为varchar2(4000)

CREATE TABLE t1(

n VARCHAR2(4001);

)

 

--在存储过程中使用超过4000的变量

CREATE OR REPLACE FUNCTION FUNNY2(P IN VARCHAR2) RETURN NUMBER IS

  LENGTH_P := LENGTH(P);

  RETURN   LENGTH_P;

END FUNNY2;

 

DECLARE

  A VARCHAR2(5000);

BEGIN

  A := LPAD('a', 5000, 'b');

  DBMS_OUTPUT.PUT_LINE(funny2(A));

END;



你可能感兴趣的:(关于blob,clob,varchar2)