char varchar nvarchar varchar2 nvarchar2的区别

1.char

 

  char的长度是固定的,最大支持2000个字节。

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

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

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

 

2.varchar/varchar2

 

  varchar是长度不固定的,最大支持4000个字节。

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

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

  varchar的效率低于char。

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

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

 

3.nvarchar/nvarchar2

 

  nvarchar和nvarchar2是长度不固定的

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

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

  nvarchar/nvarchar2适用于存放中文


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。