sqlvarcharvarchar2
㈠ oracle中字段类型varchar2最大长度是多少
1、varchar2有两个最大长度:一个是在字段类型4000;一个是在PL/sql中变量类型32767。这是一个比较容易出错的地方。
2、因为在函数中可以声明长度超过4000的字符串变量,并且将它作为返回值,这里是不会提示编译错误的。这个函数平时都可以正常执行,而一旦这个字符串长度超过4000,函数执行就会出错。
3、在pl/sql中,建个函数,测试varchar2长度,可以看到函数是成功的;
(1)sqlvarcharvarchar2扩展阅读
1、varchar2是oracle提供的独有的数据类型,varchar2是存放可变长度的字符串,最大长度是4000.
2、在oracle中 varchar2的最大长度为4000 bytes,即varchar2(4000),最多能储存2000个汉字或4000位的数字字母。当储存值超过时可以使用clob(Character Large Object)或blob(Binary Large Object)类型。
3、varchar、varchar2、nvarchar2区别
1)varchar(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。不同的是,若输入的不足,则以空格填充。
2)varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。
3)nvarchar2(50)表示该字段类型为nvarchar2,长度为50,不论英文,数字,中文都能存50个。
参考资料
ORACLE数据库-网络
㈡ 关于char与varchar,varchar2的区别
1、处理速度
char 和相同长度的varchar处理速度差不多。varchar的长度不会影响处理速度;
2、string
O/R Mapping中对应实体的属性类型一般是以string居多,用char[]的非常少,所以如果按mapping的合理性来说,可变长度的类型更加吻合;varchar的存放和string是一样原理的,即length {block}这种方式,所以varchar的长度和它实际占用空间是无关的;
3、查询成本
char和varchar的比较成本是一样的,现在关键就看它们的索引查找的成本了,因为查找策略都一样,因此应该比较谁占用空间小。
例:
在存放相同数量的字符情况下,如果数量小,那么char占用长度是小于varchar的,但如果数量稍大,则varchar完全可能小于char,而且要看实际填充数值的充实度,比如说varchar(3)和char(3),那么理论上应该是char快了,但如果是char(10)和varchar(10),充实度只有30%的情况下,理论上就应该是varchar快了。
因为varchar需要额外空间存放块长度,所以只要length(1-fillfactor)大于这个存放空间(好像是2字节),那么它就会比相同长度的char快了。
(2)sqlvarcharvarchar2扩展阅读:
1、如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么char;
2、能确定长度又不一定是ansi字符或者,那么用nchar;
3、不确定长度,要查询且希望利用索引的话,用nvarchar类型吧,将它们设到400;
4、不查询的话没什么好说的,用nvarchar(4000);
5、性格豪爽的可以只用3和4,偶尔用用1,毕竟这是一种额外说明,等于告诉别人说,我一定需要长度为X位的数据。
㈢ SQL语句中char怎么转换为varchar2
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。