1、varchar2有两个最大长度:一个是在字段类型4000;一个是在PL/SQL中变量类型32767。这是一个比较容易出错的地方。
2、因为在函数中可以声明长度超过4000的字符串变量,并且将它作为返回值,这里是不会提示编译错误的。这个函数平时都可以正常执行,而一旦这个字符串长度超过4000,函数执行就会出错。
3、在pl/sql中,建个函数,测试varchar2长度,可以看到函数是成功的;
4、但是在执行的时候,函数是会报错的;
扩展资料
1、varchar2是oracle提供的独有的数据类型,varchar2是存放可变长度的字符串,最大长度是4000.
2、在oracle中varchar2的最大长度为4000bytes,即varchar2(4000),最多能储存2000个汉字或4000位的数字字母。当储存值超过时可以使用clob(CharacterLargeObject)或blob(BinaryLargeObject)类型。
3、varchar、varchar2、nvarchar2区别
1)varchar(50)表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。不同的是,若输入的不足,则以空格填充。
2)varchar2(50)表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。
3)nvarchar2(50)表示该字段类型为nvarchar2,长度为50,不论英文,数字,中文都能存50个。
参考资料