sql,,varchar(50)和char(50)有什么区别?分别可以容纳多少个汉字和英文字母?
展开全部
首先,可以容纳的汉字数和英文字母数是一致的。
区别在于,varchar是可变的,char是不可变的。
比如你要存'123456789',我们知道要9个字符的长度。那么对于varchar来说,在数据表中就是占用了9个字符的长度,保存到硬盘,也是这个长度。但是对于char来说,就不是了,它依然使用了50个字符,保存到硬盘也是。
所以,在字段长度经常变化,并且最大长度仅在少数情况下出现时,应当使用varchar。仅在长度一定是一致的,或大部分情况下是最大长度,偶尔是其他长度时,才使用char。
区别在于,varchar是可变的,char是不可变的。
比如你要存'123456789',我们知道要9个字符的长度。那么对于varchar来说,在数据表中就是占用了9个字符的长度,保存到硬盘,也是这个长度。但是对于char来说,就不是了,它依然使用了50个字符,保存到硬盘也是。
所以,在字段长度经常变化,并且最大长度仅在少数情况下出现时,应当使用varchar。仅在长度一定是一致的,或大部分情况下是最大长度,偶尔是其他长度时,才使用char。
展开全部
此处例子----sql server
对于字符类型的有:
char:固定长度,存储ANSI字符,不足的补英文半角空格。
nchar:固定长度,存储Unicode字符,不足的补英文半角空格
varchar:可变长度,存储ANSI字符,根据数据长度自动变化。
nvarchar:可变长度,存储Unicode字符,根据数据长度自动变化。
也就是说:varchar 可变长度,
varchar(50)即长度为:50个字符
当有存入值时,就跟据实际的值的大小(长度)存入数据。
对于字符类型的有:
char:固定长度,存储ANSI字符,不足的补英文半角空格。
nchar:固定长度,存储Unicode字符,不足的补英文半角空格
varchar:可变长度,存储ANSI字符,根据数据长度自动变化。
nvarchar:可变长度,存储Unicode字符,根据数据长度自动变化。
也就是说:varchar 可变长度,
varchar(50)即长度为:50个字符
当有存入值时,就跟据实际的值的大小(长度)存入数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询