1.nvarchar(n) 包含n个字符的可变长度Unicode字符数据。n的值必须介于1与4000之间。字节的存储
大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。 2.varchar(n) 长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8000之间的
数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长
度可以为零。实例:分别创建表testNvarchar,testVarchar。 drop table testNvarchar,testVarchar create table testNvarchar ( name nvarchar(2) ) create table testVarchar ( name varchar(2) ) insert into testNvarchar values('hl') insert into testvarchar values('hl') insert into testNvarchar values('你') insert into testvarchar values('你') insert into testNvarchar values('你好') insert into testvarchar values('你好') 运行结果: (1 行受影响) (1 行受影响) (1 行受影响) (1 行受影响) (1 行受影响) 消息 8152,级别 16,状态 14,第 15 行 将截断字符串或二进制数据。 语句已终止。
第一次插入,'hl'的字符个数是2,与定义nvarchar(2)的长度相等,插入成功
第二次插入,'hl'的实际字节长度是2,与定义varchar(2)相等,插入成功
第三次插入,‘你’字符个数是2,比定义nvarchar(2)的长度短,插入成功
第四次插入,‘你’的实际字节长度是2,与定义varchar相等(2),插入成功
第五次插入,‘你好’的字符个数是2,与定义nvarchar(2)的长度相等,插入成功
第六次插入,‘你好’的实际字节长度是4,比定义varchar(2)大,插入失败