首页 新闻 会员 周边 捐助

sqlserver数据类型问题

0
[已解决问题] 解决于 2011-05-03 23:09

sqlserver的数据类型的char , varchar,nchar,,nvarchar,请问什么时候应该用什么类型的比较好,还有char(n)和nchar(n)中的n应该怎么样取好,

合仔茶的主页 合仔茶 | 初学一级 | 园豆:143
提问于:2011-05-03 12:48
< >
分享
最佳答案
0

char 是比较固定的,如果你的数据比较固定,例如手机电话号码等可以用char,而nchar则是占用双字节的考虑为汉字时候使用

varchar 动态的,如果你需要的长度是变化的,则可以考虑,如果姓名,有2个字的,三个字的等。。(汉字的用nvarchar)

char(n)和varchar(n) 就是设定长度,根据自己的实际情况而定,例如 nchar(3)  ,则可以输入的最大长度是3个汉字

先抛个砖,期待高手的讲解...

山石晓月 | 菜鸟二级 |园豆:267 | 2011-05-03 13:49
如果3个字的中文用nchar(3),char(6)是这样吗?
合仔茶 | 园豆:143 (初学一级) | 2011-05-03 18:56
额,可以这样写,如果有汉字最好用nchar ,这样可以有效的防止乱码。我用的时候公司有规定,统一用nvarchar 例如10,50 ,150,250,max 几个分段,好处和坏处都很明显,方便验证,但是耗费了资源。
山石晓月 | 园豆:267 (菜鸟二级) | 2011-05-03 20:23
其他回答(3)
0

char varchar ,nchar,nvarchar 他们的编码标准不一样
char varchar  是ascii 编码
nchar,nvarchar 是统一字符编码标准
char 和 nchar    则就是以设置char 或 nchar的长度来存储字符(即存储的字符长度就是设置的长度)
nchar,nvarchar     获取该类型的字符的长度 则 字符长度小于设置的长度 则已字符实际大小存储,如大于 则只存储设置大小的长度

avic_ren | 园豆:373 (菜鸟二级) | 2011-05-03 13:51
0

如果要细究起来,应该了解表的存储结构
请参阅:http://www.cnblogs.com/downmoon/archive/2010/01/28/1658145.html

邀月 | 园豆:25475 (高人七级) | 2011-05-03 14:45
0
飞凡 | 园豆:207 (菜鸟二级) | 2011-05-03 20:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册