什么是位、字节、varchar和varchar2区别
位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。
字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。
varchar是标准sql里面的。 varchar2是oracle提供的独有的数据类型。
varchar对于汉字占两个字节,对于数字,英文字符是一个字节,占的内存小,varchar2一般情况下把所
有字符都占两字节处理。具体要看数据库使用的字符集,比如GBK,汉字就会占两个字节,英文1个,如果是UTF-8,汉字一般占3个字节,英文还是1个。
varchar对空串不处理,varchar2将空串当做null来处理。
如果是要更换不同的数据库,例如mysql,那么就用varchar,如果就用oracle,那么用varchar2比较好一点。
varchar存放固定长度的字符串,最大长度是2000,varchar2是存放可变长度的字符串,最大长度是4000
byte vahcar的大小区别
varchar2(byte) 存储的是字节。
varchar2(char) 存储的是字符。
比如:varchar2(2 byte) 最多可以存储2个字节;varchar2(2 char) 最多可以存储2个字符。
当数据库字符集为 AL32UTF8 时,一个汉字是一个字符,一个汉字占3个字节,varchar2(2 byte) 一个汉字也不能存,varchar2(2 char) 能存2个汉字。