社区
MS-SQL Server
帖子详情
char(30)与varchar(30)的区别?
tianyxy
2003-11-26 10:49:39
char(30)与varchar(30)的区别?
谢谢!
...全文
1052
8
打赏
收藏
char(30)与varchar(30)的区别?
char(30)与varchar(30)的区别? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
元老
2003-11-26
打赏
举报
回复
char(30)与varchar(30)
char(30) 不管你保存的字符数是多少,它都固定占用30个字节的存储空间
varchar(30) 只占用你保存的字符数一致的空间.
但char(30)的检索速度快过varchar(30)
tianyxy
2003-11-26
打赏
举报
回复
谢谢两位!
再请问friendliu(无为) ,ANSI_PADDING选项什么意思?
victorycyz
2003-11-26
打赏
举报
回复
char(30)占用空间更多,但是,因为长度固定,参与运算时速度更快。
friendliu
2003-11-26
打赏
举报
回复
char 数据类型是固定长度数据类型。如果一个比列的长度小的值被插入到 char NOT NULL 列中,则值的右边以空格填补剩余的位置。例如,如果一个列被定义为 char(10) 并且要存储的数据是"music",则 SQL Server 将这个数据存储为"music_____",这里"_"表示空格。
当创建一个 char NULL 列时,如果 ANSI_PADDING 是ON,它的表现就如同一个 char NOT NULL列:值的右边按照列的大小进行填补。当创建一个 char NULL 列时,如果 ANSI_PADDING 是 OFF,它的表现就如同一个将 ANSI_PADDING 设置为 OFF 的 varchar 列:尾随空格将被截断。
varchar 是可变长度的数据类型。比列的长度小的值,不会按照列的长度在其右边填补。当创建列时,如果 ANSI_PADDING 选项设为 OFF,则所有存储在列中的字符值的尾随空格都将被截断。当创建列时,如果 ANSI_PADDING 设为 ON,则尾随空格不被截断
victorycyz
2003-11-26
打赏
举报
回复
varchar存放的字符长度最大为30,可以更少。
char(30)存放的字符长度即使不足30,也会自动以空格填充左边的位置,直到30。
sunsunup
2003-11-26
打赏
举报
回复
char(30)与varchar(30)
char(30) 不管你保存的字符数是多少,它都固定占用30个字节的存储空间
varchar(30) 保存實際長度, 最多只占用30個字节.
char(30)的检索速度快过varchar(30)
CrazyFor
2003-11-26
打赏
举报
回复
char(30)与varchar(30)
char(30) 不管你保存的字符数是多少,它都固定占用30个字节的存储空间
varchar(30) 只占用你保存的字符数加一的字节空间.如:保存'A'点有两个字节
hglhyy
2003-11-26
打赏
举报
回复
varchar(30)存放的字符长度最大为30,可以更少。
char(30)存放的字符如果不足30,也会自动以空格来填充,直到30
资料:
字段类型
不同的字段类型用来存放不同类型的数据。创建和使用表时,更你应该理解五种常用的字段类型:字符型,文本型,数值型,逻辑性和日期型。
字符型数据
字符型数据非常有用。当你需要存储短的字符串信息时,你总是要用到字符型数据。例如,你可以把从HTML form的文本框中搜集到的信息放在字符型字段中。
要建立一个字段用来存放可变长度的字符串信息,你可以使用表达式 VARCHAR。考虑你前面创建的表guestbook:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate
DATETIME)
在这个例子中,字段visitor的数据类型为VARCHAR。注意跟在数据类型后面的括号中的数字。这个数字指定了这个字段所允许存放的字符串的最大长度。在这个例子中,字段visitor能存放的字符串最长为四十个字符。如果名字太长,字符串会被截断,只保留四十个字符。
VARCHAR类型可以存储的字符串最长为255个字符。要存储更长的字符串数据,可以使用文本型数据(下一节中讲述)。
另一种字符型数据用来存储固定长度的字符数据。下面是一个使用这种数据类型的例子:
CREATE TABLE guestbook (visitor CHAR(40),comments TEXT,entrydate
DATETIME)
在这个例子中,字段visitor被用来存储四十个字符的固定长度字符串。表达式CHAR指定了这个字段应该是固定长度的字符串。
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。
现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。
文本型数据
字符型数据限制了字符串的长度不能超过255个字符。而使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。
这里有一个使用文本型数据的例子:
CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate
DATETIME)
在这个例子中,字段comments被用来存放访问者对你站点的意见。注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。
当你从HTML form的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。
警告:
一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。
MySQL 数据类型和运算符
Re: MySQL 数据类型和运算符=============================# 数据类型 整数类型:五种 TINY SMALL MEDIUM INT BIG 浮点和定点小数类型:三种 FLOAT DOUBLE DECIMAL 日期与时间数据类型:五种 YEAR -1 字符串类型:二种
CHAR
(M)
VAR
CHAR
(M) -1 二进制字符串:位字段BIT 固定BINARY 可变VARBINARY -1 # 运算符 算术 运算符 比较 运算符 逻辑 运算符 位操作 运算符 运算符的优先级-------------------------------------
Mysql中
var
char
与
char
的
区别
以及
var
char
(
30
)中的
30
代表的涵义
mysql中
var
char
与
char
的
区别
以及
var
char
(
30
)中的
30
代表的涵义 (1)
var
char
与
char
的
区别
var
char
存储可变长字符串,小于255字节时需要1个额...
mysql
char
30
_Mysql中
var
char
与
char
的
区别
以及
var
char
(
30
)中的
30
代表的涵义
mysql中
var
char
与
char
的
区别
以及
var
char
(
30
)中的
30
代表的涵义(1)
var
char
与
char
的
区别
var
char
存储可变长字符串,小于255字节时需要1个额外字节(大于255需要2个额外字节)存储长度,最大长度为65532字节(所有列总和);
char
存储定长(rightpadding),读取时会截断末尾空格,长度最大为255字符;
char
与
var
char
都是用来存储字符...
mysql的
var
char
(N)和int(N)的含义及其与
char
区别
1)
var
char
与
char
的
区别
Var
char
存储可变长字符串,小于255字节时需要1个额外字节(大于255需要2个额外字节)存储长度,最大长度为65532字节(所有列总和);
char
存储定长(right padding),读取时会截断末尾空格,长度最大为255字符; 2)
var
char
(
30
)中
30
的涵义 最大存储
30
个字符;
var
char
(5)和(200)存储hello所占空
mysql中
char
和
var
char
的
区别
_MYSQL中
char
和
var
char
的
区别
CHAR
和
VAR
CHAR
类型相似,差别主要在存储,尾随空格和检索方式上。
CHAR
和
VAR
CHAR
相同的是:
CHAR
和
VAR
CHAR
都指定了字符长度,注意是字符长度。例如
char
(
30
) 和
var
char
(
30
)表示都可以存
30
个字符。有一点要注意的是在utf8mb4编码中,每个字符占4个节点。在utf8中,每个字符占3个字节。当要存储的字符超过
CHAR
/
VAR
CHAR
指定的最大长度。在sql m...
MS-SQL Server
34,496
社区成员
254,561
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章