char与vachar的区别

fuyinglu 2008-04-07 04:32:18
char与vachar的区别:最好给出一些实例,谢谢!!!
...全文
563 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
TT_rain 2010-05-27
  • 打赏
  • 举报
回复
受教了
  • 打赏
  • 举报
回复
char(10),varchar(10)都表示最多可以存储10个字符。但是如果你输了5个字符的话,
char(10)会在你输入的字符后面加5个空个来补够10个字符,所以存储长度是10;而varchar则不补,所以存储长度是5
oracli 2008-04-09
  • 打赏
  • 举报
回复
char效率高
正宗老冉 2008-04-09
  • 打赏
  • 举报
回复
char
vachar

正宗老冉 2008-04-09
  • 打赏
  • 举报
回复
前者是正确的数据类型;

后者是错误的数据类型。
sinxy 2008-04-09
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 conan304 的回复:]
char和varchar哪个的效率高??
[/Quote]在做寻址的时候,固定长度的寻址效率高,不需要逐位扫描
cryptlordx 2008-04-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 laowan688 的回复:]
char是固定长度
varchar可变长度
[/Quote]
cryptlordx 2008-04-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 laowan688 的回复:]
char是固定长度
varchar可变长度
[/Quote]
conan304 2008-04-08
  • 打赏
  • 举报
回复
char和varchar哪个的效率高??
hery2002 2008-04-07
  • 打赏
  • 举报
回复
纯粹的顶一下.
JL99000 2008-04-07
  • 打赏
  • 举报
回复
声明为char类型的数据长度就固定了
而声明为varchar类型的数据,其长度是由其数据的实际大小来决定的

例如:
declare @c char(100),@v varchar(100)
set @c='aa'
set @v='aa'
那么@c的实际大小为100,而@v的实际大小为2
Aslan_ 2008-04-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 vegaliming 的回复:]
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。

所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

后面三种数据类型和前面的相比,从名称上看只是多了个字母"n",它表示存储的是Unicod…
[/Quote]
长见识了,以前懒得区分什么字符集。
kaikai_kk 2008-04-07
  • 打赏
  • 举报
回复
15楼了,没什么好解释的
  • 打赏
  • 举报
回复
LZ的问题是"char与vachar的区别"? 这个问题我不知道答案,
是char与varchar吧? 同意sdhylj的说法。
hui_hui_2007 2008-04-07
  • 打赏
  • 举报
回复
char是存固定长度,不足时补空格。
varchar存贮长度随字符多少变化。不存尾部空格。
vegaliming 2008-04-07
  • 打赏
  • 举报
回复
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。

所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

后面三种数据类型和前面的相比,从名称上看只是多了个字母"n",它表示存储的是Unicode数据类型的字符。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。

nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
wzy_love_sly 2008-04-07
  • 打赏
  • 举报
回复
ojuju10 2008-04-07
  • 打赏
  • 举报
回复
char
固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。

varchar
可变长度的非 Unicode 数据,最长为 8,000 个字符。
laowan688 2008-04-07
  • 打赏
  • 举报
回复
char
固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。

varchar
可变长度的非 Unicode 数据,最长为 8,000 个字符。

nchar
固定长度的 Unicode 数据,最大长度为 4,000 个字符。

nvarchar
可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。

-狙击手- 2008-04-07
  • 打赏
  • 举报
回复
长度可变和不可变
加载更多回复(7)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧