VARCHAR2(20)可以存储多少个数字

 我来答
百度网友79faf363
2019-12-12 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1212
采纳率:75%
帮助的人:55.1万
展开全部

20个数字。

4.0版本以下,varchar(20),指的是20字节。如果存放数字时,只能存20个(每个数字1字节)。如果存放UTF8汉字时,只能存33个(每个汉字3字节) 。

5.0版本以上,varchar(20),指的是20字符。无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个, VARCHAR(M)类型的列最多可以占用65535个字节。

如果插入字符超过21个,则报错  [Err] 1406 - Data too long for column'string' at row 1

可见MySQL的varchar(n)可以存储的中文字符数和英文字符数是一致的,都是n个字符。

扩展资料:

示例:以5.0以上版本为例。

新建表:

CREATE TABLE varchar_test (`id` int(11) NOT NULL ,`string` varchar(20)) ENGINE=InnoDBDEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci

插入数据:

INSERT INTO varchar_test (id, string) VALUES (1, '一二三四五六七八九十');

INSERT INTO varchar_test (id, string) VALUES (2, '一二三四五六七八九十一二三四五六七八九十');

INSERT INTO varchar_test (id, string) VALUES (3, '12345678901234567890');

测试结果:

1:一二三四五六七八九十

2:一二三四五六七八九十一二三四五六七八九十

3:12345678901234567890

badkano
2015-07-21 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885372
团长

向TA提问 私信TA
展开全部

varchar2是oracle中独有的类型,可以存储0-20个数字(英文写法),如果是中文数字的话只能存储10个。

创建测试表:

create table test
(id int,
name varchar2(20));

执行这句,这里是21个数字:

insert into test values (1,'123456789012345678901');

测试一下中文数字:

insert into test values (1,'一二三四五六七八九十一');

结果是雷同的:

所以,varchar2(20)只能存20个数字,或十个中文。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友df91286
2012-09-05
知道答主
回答量:11
采纳率:0%
帮助的人:9.3万
展开全部
0-20位数字,,注意是位数
追问
不是很懂,能举个例子么??谢谢
追答
12是指2位,个位和十位组成,依次类推
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式