一、oracle 数据库与其他数据库在数据类型上的区别
1、数字:以前int ,oracle :number:无限定,number(3) :3位字符,3个字节。number(6,2):4位整数,2位小数,6个字节长度。 英文数字都是一个字符一个字符字节(8位2进制值数)
2、汉字:GB2312、ZHS16GBK 占2个字节, UTF-8、AL32UTF8 占3个字节
select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET';
可以查询到当前数据库的字符集,
1、NVARCHAR2(10):可变长度 Unicode 字符数据 可以存进去10个汉字的,如果用来存英文也只能存10个字符。
VARCHAR2(10): 可变长度,非 Unicode 字符数据,只能存进5个汉字,英文则可以存10个
varchar 存放固定长度的字符数据,最长2000个字符。
varchar2 存放可变长字符数据,最大长度为4000字符。,最大長度為4000字符。
varchar 是标准sql提供的数据类型。
varchar2 是oracle提供的独特的数据类型。
oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar。如果想新版本的数据库兼容就不要用varchar,如果想和其他数据库兼容就不要用 varchar2。