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

如题所述

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

n一般用于中文存储,char 10能存5个汉字或10个字符,nchar能存10个汉字或10个字符。
char的存储效率比varchar稍微高点,就是要定长,根据不同项目需要吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-24
带n的,存储字符个数
不带n的,存储字节个数。
char,nchar是存储定长字节或字符,如定义了char(2)的话,
就是占用了两个字节,即使登陆数据的时候登陆了一个1个字节,DB中也是占用两个字节的空间。
varchar,nvarchar是存储变长字节或字符,即存储的字节或字符数就是实际向DB中登陆的字节或字符数。
第2个回答  2020-03-10
高等教育出版社《数据库技术及应用》的81页
char
储存固定长度的字符串
最大长度
8000
个字节
varcahr
储存可变长度的字符串
最大长度8000
个字节
nchar
储存固定长度的unicode字符串
最大长度为
4000
个字符
nvarchar
储存可变长度的unicode字符串
最大长度为
4000个字符
备注:有“var”前缀的都是可变的意思,就是说你在输入字符时可以输入任意长度不同的字符串
另外,你存名字:中文名就用nvarchar

英文名就用varchar吧,