hc学习平台

 找回密码
 立即注册
搜索
热搜: 活动 交友 javakc
 › 学习交流 › MySql › varchar与char的区别,各自在什么场景下使用
查看: 732|回复: 0
打印 上一主题 下一主题

varchar与char的区别,各自在什么场景下使用

[复制链接]

2249

主题

0

帖子

0

博客

admin

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

跳转到指定楼层
楼主
发表于2015-01-24 13:52:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

0

主题

1181

帖子

2

博客

yjz123456

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-08-24 11:34:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
char修饰的字段是定长的,varchar修饰的字段是不定长的。如果你要求输入的数据是固定长度的那么使用char类型,否则,varchar使用起来更灵活一点

0

主题

1700

帖子

0

博客

song

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-05 14:53:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char 

存储固定长度的字符串,长度为20000

场景:id 、性别,有规则固定长度的编号(型号)

   

vachar

可变字符串类型,可以存储空字符串,长度4000


vacher2

存储可变长度的字符串,不可存储空字符串,长度4000  null

场景:凡是字符串,没有固定长度,不超过4000字节



0

主题

1721

帖子

0

博客

XIAOC

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-05 18:06:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
相同字段中存储的数据长度固定并且相同
沙发
发表于2016-09-05 15:57:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CHAR--存储固定长度的字符串。

一个CHAR数据类型可以包括1到2000个字节。如果对CHAR没有明确地说明长度,它的默认长度则设置为1。如果对某个CHAR类型变量赋值,其长度小于规定的长度,自动用空格填充。场景:id,性别,有规则固定长度的编号

VARCHAR--可变字符串类型。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。可以存储空字符串。长度4000。场景:凡是字符串,没有固定长度,不超过4000字节

0

主题

1636

帖子

0

博客

renmihe

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 14:56:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CHAR:存储固定长度的字符串。

一个CHAR数据类型可以包括1到2000个字节。

如果对CHAR没有明确地说明长度,它的默认长度则设置为1。

如果对某个CHAR类型变量赋值,其长度小于规定的长度,自动用空格填充。


场景:性别、主键的id、有规定固定长度的编号(型号)


VARCHAR:可变字符串类型。

可以存储空字符串,长度4000


VARCHAR2:存储可变长度的字符串。

是oracle在varchar的基础上自行定义的可变长度字符串类型。

最多可设置为4000个字节。 不可以存储空字符串。


场景:凡是字符串、没有固定长度、不超过4000字节


0

主题

1576

帖子

0

博客

liufangyuan

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 15:23:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char 固定长度的字符串,最大2000字节  场景:id 性别 固定长度的编号或型号等

varchar 可变长度的字符串,可以存储空字符串,最大4000字节 

varchar2 可变长度的字符串,不可以存储空字符串,最大4000字节  场景:凡是字符串,没有固定长度,不超过4000字节

WR

0

主题

1674

帖子

0

博客

WR

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 15:43:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

varchar可变字符串类型,可以存储空字符串 长度4000  “”

char存储固定的长度,长度为2000

场景:性别,主键的id,有规则的固定长度的编号或者型号

varchar2存储可变长度的字符串,不存储空字符串 长度4000  null

场景:凡是字符串,没有固定长度,不超过4000个字节

0

主题

1458

帖子

0

博客

梦紫菱0124

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 16:34:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char是指存储固定长度的字符串(2000b)

varchar指可变字符串类型、可以存储空字符串(4000b)

varchar指可变字符串类型、不可以存储空字符串(4000b)

0

主题

1451

帖子

0

博客

gaoye

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 17:42:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char--存储固定长度的字符串。

一个char数据类型可以包括1到2000个字节。如果对CHAR没有明确地说明长度,它的默认长度则设置为1。如果对某个CHAR类型变量赋值,其长度小于规定的长度,自动用空格填充。

VARCHAR--可变字符串类型。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。

为SQL标准规定的,数据库必须实现的数据据类型。可以存储空字符串。

0

主题

1510

帖子

0

博客

zhangjialong

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 18:16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CHAR:存储固定长度的字符串。

一个CHAR数据类型可以包括1到2000个字节。

如果对CHAR没有明确地说明长度,它的默认长度则设置为1。

如果对某个CHAR类型变量赋值,其长度小于规定的长度,自动用空格填充。


场景:性别、主键的id、有规定固定长度的编号(型号)


VARCHAR:可变字符串类型。

可以存储空字符串,长度4000


VARCHAR2:存储可变长度的字符串。

是oracle在varchar的基础上自行定义的可变长度字符串类型。

最多可设置为4000个字节。 不可以存储空字符串。


场景:凡是字符串、没有固定长度、不超过4000字节

0

主题

1450

帖子

0

博客

Sarbr

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-07 18:16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CHAR--存储固定长度的字符串。 一个CHAR数据类型可以包括1到2000个字节。如果对CHAR没有明确地说明长度,它的默认长度则设置为1。如果对某个CHAR类型变量赋值,其长度小于规定的长度,自动用空格填充。

VARCHAR--可变字符串类型。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。

0

主题

1402

帖子

0

博客

马鹏磊

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-08 10:41:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

CHAR--存储固定长度的字符串。
一个 CHAR 数据类型可以包括 1 到 2000 个字节。如果对 CHAR 没有明确地说明长度,它的默认长度则设置为 1。 如果对某个 CHAR 类型变量赋值,其长度小于规定的长度,自动用空格填充。


例:sex char(2);
VARCHAR--可变字符串类型。

虽然也必须指定一个 VARCHAR2 数据变量的长度,但是这个长度是指对该变量赋值的的最大长度而非实际赋值度。不需要用空格填充。为 SQL 标准规定的,数据库必须实现的数据据类型。可以存储空字符串


例:city varchar(2);
VARCHAR2--存储可变长度的字符串
是 oracle 在 varchar 的基础上自行定义的可变长度字符串类型。 最多可设置为 4000 个字节。

  不可以存储空字符串。
例:  name varchar2(10);

0

主题

1518

帖子

0

博客

Cracia

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-10 10:48:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CHAR--存储固定长度的字符串。
一个 CHAR 数据类型可以包括 1 到 2000 个字节。如果对 CHAR 没有明确地说明长度,它的 默认长度则设置为 1。如果对某个 CHAR 类型变量赋值,其长度小于规定的长度,自动用空格填充。
例:sex char(2);

VARCHAR--可变字符串类型。

虽然也必须指定一个 VARCHAR2 数据变量的长度,但是这个长 度是指对该变量赋值的的最大长度而非实际赋值长度。不需要用空格填充。

为 SQL 标准规定的,数据库必须实现的数据据类型。可以存储空字符串。
XY

0

主题

587

帖子

0

博客

XY

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-14 17:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Char存储固定长度的字符串,长度2000

场景:id,性别,有规则固定长度的编号(型号)。

 

Varchar2存储可变长度的字符串,不可以存储空字符串,长度4000  null

场景:凡是字符串,没有固定长度,不超过4000字节。

Yc

0

主题

847

帖子

0

博客

Yc

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2016-09-30 15:58:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

 char存储固定长度的字符串,长度2000

场景: id 性别 有规则固定长度的编号(型号)

varchar 可变字符串类型,可以存储空字符串 “” 长度4000

0

主题

1932

帖子

0

博客

740317431

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-08-17 16:05:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

 

而char是固定的,如果定义了char(10)但是只输入了一个字母,那么会自动补9个空格,而

varchar不会,如果定义了varchar(10),则代表最大长的为10,不会自动补空格

0

主题

1902

帖子

0

博客

王之神判

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-08-17 16:39:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char 存储固定长度的字符串,长度2000
场景:id,性别,有规则固定长度的编号(型号)
varchar 可变字符串类型,可以存储空字符串 长度4000 “”
varchar2 存储可变长度的字符串,不可以存储空字符串 长度4000 null
场景:凡是字符串,没有固定长度,不超过4000字节,


0

主题

1694

帖子

0

博客

wulinan

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-08-17 20:12:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char 存储固定长度的字符串,长度2000

场景:id,性别,有规则固定长度的编号(型号)

varchar可变字符串类型,可以存储空字符串 长度4000 “”

varchar2存储可变长度的字符串,不可以存储空字符串 长度4000 null

场景:凡是字符串,没有固定长度,不超过4000字节

 

kk

0

主题

252

帖子

0

博客

kk

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2017-08-19 11:36:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

char存储固定长度的字符串,长度最大为2000,可以在固定长度的比如编号,性别,id什么的。

varchar存储可变长度的字符串,长度最大为4000,可以存储空字符串,在长度不超过4000的情况下都能用。

0

主题

133

帖子

0

博客

tjj123456

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2018-05-16 18:55:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

varchar是储存可变长度的字符串,可以存空字符串

场景:没有固定长度,不超过4000个字节

char是储存固定长度的字符串

场景:id,性别

0

主题

1213

帖子

0

博客

yanghao

Rank: 9 Rank: 9 Rank: 9

积分

IP 编辑 禁止 帖子 清理

沙发
发表于2018-08-29 08:48:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

定长和变长

Char 存储定长的字符串 长度2000

Varchar 存储变长的字符串 长度 4 000 可空字符串

Varchar2 存储变长的字符串 长度 4 000 不可空字符串

id 性别 规则的编号或型号 


凡是字符串没有固定长度 不超过4000个字节



站点统计|举报|Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, , Processed in 0.195171 second(s), 9 queries .

Powered by javakc! X1.0

© 2004-2014 javakc

f1208.com 备案号:京ICP备14030918号-1

返回顶部