`
邪神Saber
  • 浏览: 41182 次
文章分类
社区版块
存档分类
最新评论

Sql Server数据类型的区别

 
阅读更多

char是定长的,也就是当你输入的字符小于你指定的数目时,比如char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。

varchar是变长型的,它的存储空间会跟你输入的实际字符数而改变,但最大长度不能超过你指定的长度。

nvarchar 和 varchar 的区别是存储方式不同

varchar是按字节存储的.而带"n"的nvarchar是按字符存储的
比如说 varchar(40),能存储40个字节长度的字符,存储中文字符的时候,因为中文字符1个字符就等于2个字节.所以varchar(40)只能存储20个中文字符.
nvarchar(40),就可以存储40个中文字符,也就是说可以存储80个字节长度的字符.nvarchar要相对于存储的字符类型.比如有些字符是占3个字节的.

同样的,char和nchar也一样道理

注意一点:

有中文时最好用nvarchar,因为如果把sqlserver转到其他数据库(如:mysql)时,用nvarchar 就不会中文乱码,varchar就会中文乱码。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics