这是一个初学者必遇到的一个问题,闲来无事,在oracle里测试了下,
首先,我建立了这样一个测试表
-------------------------------------------------------
CREATE TABLE "SCOTT"."TEST01"
( "NAME" VARCHAR2(1),
"NAME1" VARCHAR2(1),
"NAME2" VARCHAR2(4)
)
--------------------------------------------------------
在表中插入数据
insert into test01 values('a','bc','王三毛');
系统打印错误:ORA-12899: 列 "SCOTT"."TEST01"."NAME1" 的值太大 (实际值: 2, 最大值: 1)
insert into test01 values('a','c','王三毛');
系统打印错误:ORA-12899: 列 "SCOTT"."TEST01"."NAME2" 的值太大 (实际值: 6, 最大值: 4)
---------------------------------------------------------
varchar可以存几个汉字的问题应该跟oracle当前的字符集样式有关,查看当前字符集样式命令
select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
-----不得不说,iteye的编辑器确实要改版了,老是打断写博客的兴致