日期:2014-05-16  浏览次数:20427 次

关于oraclce中varchar 和varchar2 长度问题

最近群里有人问了oracle中varchar和varchar2的长度问题,自己没亲自测试过,网上查了些资料,自己顺便也学习一下,还帮助了别人,特别感谢睡森林@漂在北京 http://www.blogjava.net/wangbing/archive/2010/03/15/315482.html?的博文,自己测了一下varchr的长度:

?

结论:varchar在长度问题上和varchar2基本相同,也有两个最大长度:一个是在字段类型4000字节;一个是在PL/SQL中变量类型32767字节。

?

测试用例:

--测在作为字段类型时

CREATE TABLE STU_TEST(
USERNAME VARCHAR(4000),
REMARK VARCHAR2(4000),
PRIMARY KEY(USERNAME)
);

--测试在函数中作为返回类型时

create

?or replace function GARY_TEST return CLOB
? is
????? v_yct varchar(32767);
? begin
????? v_yct := rpad('a', 4, 'b');
????? return v_yct;
? end;

?

?