数据库char,varchar,nchar,nvarchar类型分别有什么区别。

如题所述

数据库char,varchar,nchar,nvarchar类型区别为:长度不同、字节不同、空格不同。

一、长度不同

1、char类型:char类型的长度固定,占用更多的存储空间。

2、varchar类型:varchar类型的长度不固定,占用更少的存储空间。

3、nchar类型:nchar类型的长度固定,占用更多的存储空间。

4、nvarchar类型:nvarchar类型的长度不固定,占用更少的存储空间。

二、字节不同

1、char类型:char类型所有的字符使用一个字节表示。

2、varchar类型:varchar类型所有的字符使用一个字节表示。

3、nchar类型:nchar类型所有的字符使用两个字节表示。

4、nvarchar类型:nvarchar类型所有的字符使用两个字节表示。

三、空格不同

1、char类型:char类型保存的时候会去掉字符串末尾的空格。

2、varchar类型:varchar类型保存的时候不会去掉字符串末尾的空格。

3、nchar类型:nchar类型保存的时候会去掉字符串末尾的空格。

4、nvarchar类型:nvarchar类型保存的时候不会去掉字符串末尾的空格。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-13
char定长,不足长度加SPACE

VARCHAR变长,可以节约空间

nchar 是固定长度 Unicode 数据的数据类型,nvarchar 是可变长度 Unicode 数据的数据类型,二者均使用 UNICODE UCS-2 字符集。

nchar(n)
包含 n 个字符的固定长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。存储大小为 n 字节的两倍。nchar 在 SQL-92 中的同义词为 national char 和 national character。

nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零
第2个回答  推荐于2017-09-12
char 类型是一个字节 char(8)只能存8字母
nchar 类型是双字节 nchar(8)能存8个汉字
varchar 类型是可变的、即如果 varchar(8)你只存了一个字母、在内存中只占一个字节
char 类型如果 char(8)你只存了一个字母、在内存中也占8个字节本回答被提问者采纳
第3个回答  2021-11-23
char 类型是一个字节 char(8)只能存8字母
nchar 类型是双字节 nchar(8)能存8个汉字
varchar 类型是可变的、即如果 varchar(8)你只存了一个字母、在内存中只占一个字节
char 类型如果 char(8)你只存了一个字母、在内存中也占8个字节
第4个回答  2010-09-13
Char固定长度不够长后补空格,varchar变长字符不加空格,前加n的是支持中文的