SQLServer中char/varchar/nchar/nvarchar的区别

发布时间:2020-09-14 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了SQLServer中char/varchar/nchar/nvarchar的区别编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
SQL Server中char/varchar/nchar/nvarchar的区别

    当我们建立数据库表时,都会根据字段特点选择适当的数据类型,这次主要讲的是关于字符类型,在我们平时的数据库结构当中,字符类型占绝大多数,如何高效准备地利用数据库和优化数据库结构是每个DBA必须掌握的技能。

在SQL Server中,现在主要以SQL Server2005为例。对于字符类型的有:

char:固定长度,存储ANSI字符,不足的补英文半角空格。

nchar:固定长度,存储Unicode字符,不足的补英文半角空格

varchar:可变长度,存储ANSI字符,根据数据长度自动变化。

nvarchar:可变长度,存储Unicode字符,根据数据长度自动变化。

如果你肯定存储的数据长度,而且不包中文的,可以选择char类型。

如果肯定存储的数据长度,但可能包括中文,可以选择nchar类型。

如果不确定存储的数据长度,也有可能有中文,可以选择nvarchar类型,在SQL Server2005中也是比较常用的字符数据类型。

ANSI主要是以单字节来存储数据,一般适合英文。而我们常用的汉字需要用两个字节来存储,所以就要使用unicode的数据类型,不然读取出来的数据可能会乱码。

一个字符数据类型最大8000,如果使用了Unicode来存储就变成只能存储4000个字符。

如果存储的是文章内容等超长文本数据的,可以使用nText类型,也是可变长度的。总是前面凡带n开头的表示以unicode来存储数据,以var前缀的表示可变长。

如果高效利用,就看自己的具体需要,有时为了以后数据结构的变动,常使用nvarchar的比较多。

总结

以上是编程之家为你收集整理的SQLServer中char/varchar/nchar/nvarchar的区别全部内容,希望文章能够帮你解决SQLServer中char/varchar/nchar/nvarchar的区别所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!