SQL数据类型(二)----varchar和nvarchar的区别

    技术2022-05-18  13

         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)大,插入失败

     

     

     

     

     

     


    最新回复(0)