MSSQL 数据类型 char nchar varchar nvarchar 的区别


四种字符数据类型简介:

在MSSQL中,存储一个字符串(中文 英文 汉字 其它字符都称之为字符串),通常我们可以采用以下四种数据类型:char nchar varchar nvarhcar

四种数据类型简介

char:在数据库中占用的大小为一个固定值,存储一个英文字符占用一个字节,一个中文占用两个字节 ,在MSSQL中定义的最大值为8000
nchar:在数据库中占用的大小为一个固定值,存储一个英文字符占用一个字节,一个中文占用一个字节,在MSSQL中定义的最大值为4000


varchar:在数据库中占用的大小为小于定义的可变值,存储一个英文字符占用一个字节,一个中文占用两个字节 ,在MSSQL中定义的最大值为8000
nvarchar:在数据库中占用的大小为小于定义的可变值,存储一个英文字符占用一个字节,一个中文占用一个字节,在MSSQL中定义的最大值为4000

举例说明:

—1 创建一个表
create table test(a char(10),b nchar(10),c varchar(10),d nvarchar(10))
—-2 插入数据
insert into test(a,b,c,d)values(‘1′,’22’,’33’,’44’)
—-3 测试长度
select ‘\’+a+’\’ as a ,’\’+b+’\’ as b ,’\’+c+’\’ as c,’\’+d+’\’ as d from test
MSSQL char nchar 区别
—-4 长度超长数据
insert into test(a,b,c,d)values(‘12345677′,’22’,’33’,’44’)
会报异常
—-5 插入中文异常
insert into test(a,b,c,d)values(‘中文插入测试’,’22’,’33’,’44’)