varchar是标准sql里的,varchar2是oracle所提供的独有的数据类型。
varchar对于汉字占两个字节,对于数字,英文字符是一个字节,占的内存小,varchar2一般情况下把所有字符都占两字节处理。具体要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。
varchar对空串不处理,varchar2将空串当做null来处理。varchar存放固定长度的字符串,最大长度是2000,varchar2是存放可变长度的字符串,最大长度是4000。如果是要更换不同的数据库,例如mysql,那么就用varchar,如果就用oracle,那么用varchar2比较好一点。
看完这篇文章,有没有解答你心中的疑惑呢?
varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。varchar2是Oracle中特有的一种数据库类型,与varchar的区别在于
varchar 存贮为定长
varchar2 存贮为不定长。
即:如果定义了一个字段为varchar(10),那么存贮到这个字段的值,不管有没有10个字符,都存贮为10个字符长度,不足的部份补足空格。而如果定义为varchar2(10),那么按实际值来存贮,即字段值有多长存贮为多长,不补足空格。这样,在进行字段值的比较时,varchar2显然比 varchar字段简单且不易出错。另外,在进行存贮时,varchar2 也比varchar节约存贮空间。因此建议用varchar2来代替varchar类型。除非你能确定这个字段存贮内容总是那么长,那么varchar字段也是可以用的。
varchar2的最大长度是4000
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)