MS Server中varchar与nvarchar的区别

很多时候我们在创建数据库时在给字段设置数据类型时会选择varchar或是nvarchar。当然还可以选择别的数据类型,本文只对varchar和nvarchar两种类型做说明。如下测试表Test的表结构:

这里我对各字段填写值如下图所示:

通过上图可总结如下:

varchar类型,是以字节方式储的其varchar(20)表示只能存储20个字节数,因一个汉字占两个字节故只能存储10个汉字,又因一个英文只占一个字节故可存20个英文半角字符。输入法在全角状态下时同样只可输入10个汉字,但英文字符也只能输入10个了,因为全角是占两个字节的。

nvarchar类型,则是以字符具体个数存储的其nvarchar(20)就表示它可以存储20个字符。

记得自己在开发一个项目时就因使用了varchar数据类型导致了现网发生二进制流截断故障,总之varchar后面的数字是指可存放的字节数而nvarchar后的数字表示能存放多个字符。

原文地址:https://www.cnblogs.com/zgshi/p/3468102.html