VARCHAR2(20)可以存储多少个数字
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
不是很懂,能举个例子么??谢谢
12是指2位,个位和十位组成,依次类推