Oracle——char,varchar,varchar2,nvarchar类型的区别

  • char

char的长度是固定的,比如说,你定义了char(20),即使你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节。

 

char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字。

 

char适用于长度比较固定的,一般不含中文的情况。

 

  • varchar/varchar2

varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。

 

varchar同样区分中英文,这点同char。

 

varchar2基本上等同于varchar,它是oracle自己定义的一个非工业标准varchar,不同在于,varchar2用null代替varchar的空字符串。

扫描二维码关注公众号,回复: 1227750 查看本文章

 

varchar/varchar2适用于长度不固定的,一般不含中文的情况。

 

  • nvarchar/nvarchar2

nvarchar和nvarchar2是长度不固定的。

 

nvarchar不区分中英文,比如说,你定义了nvarchar(20),你可以存入20个英文字母,汉字或中英文组合,这个20定义的是字符数而不是字节数。

 

nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节。

 

nvarchar/nvarchar2适用于存放中文。

猜你喜欢

转载自endless.iteye.com/blog/2031438