sql server 2005中 char()、nchar()、varchar()、nvarchar()有什么区别?

 我来答
智填宝志愿填报
推荐于2016-08-15 · 知道合伙人互联网行家
智填宝志愿填报
知道合伙人互联网行家
采纳数:82 获赞数:261
南京新易维软件有限公司

向TA提问 私信TA
展开全部
char和nchar一般用于数据长度基本相同的字段,如手机号都是11位,可以用char(11)。但如果长度不完全一样,假设有8位的手机号,那会在数据后面自动补3个占位符,此时如果有like '%phone%' 这样的模糊查询就有问题了

n一般用于中文存储,char 10能存5个汉字或10个字符,nchar能存10个汉字或10个字符。
char的存储效率比varchar稍微高点,就是要定长,根据不同项目需要吧
qudedong28
2013-05-24 · 超过27用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:73.2万
展开全部
带n的,存储字符个数
不带n的,存储字节个数。
char,nchar是存储定长字节或字符,如定义了char(2)的话,
就是占用了两个字节,即使登陆数据的时候登陆了一个1个字节,DB中也是占用两个字节的空间。
varchar,nvarchar是存储变长字节或字符,即存储的字节或字符数就是实际向DB中登陆的字节或字符数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贝博实厉漫
2020-03-10 · TA获得超过3万个赞
知道小有建树答主
回答量:1.2万
采纳率:30%
帮助的人:882万
展开全部
高等教育出版社《数据库技术及应用》的81页
char
储存固定长度的字符串
最大长度
8000
个字节
varcahr
储存可变长度的字符串
最大长度8000
个字节
nchar
储存固定长度的unicode字符串
最大长度为
4000
个字符
nvarchar
储存可变长度的unicode字符串
最大长度为
4000个字符
备注:有“var”前缀的都是可变的意思,就是说你在输入字符时可以输入任意长度不同的字符串
另外,你存名字:中文名就用nvarchar

英文名就用varchar吧,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式