varchar2(10)和varchar2(10 char)的区别
发布时间:2020-12-12 16:09:37 所属栏目:百科 来源:网络整理
导读:Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 --创建测试表,一个是varchar2(5),一个是5 char SQL create table test(cola varchar2(5),colb varchar2(5 char)); Table created SQL desc test; Name Type Nullable Default Comme
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
--创建测试表,一个是varchar2(5),一个是5 char SQL> create table test(cola varchar2(5),colb varchar2(5 char)); Table created SQL> desc test; Name Type Nullable Default Comments ---- ---------------- -------- ------- -------- COLA VARCHAR2(5) Y COLB VARCHAR2(5 CHAR) Y --插入数据,均为5个字符,正常插入 SQL> insert into test values ('abc12','abc12'); 1 row inserted SQL> select * from test; COLA COLB ----- ---------- abc12 abc12 SQL> commit; Commit complete --插入6个字符的的报错,varchar2(5)col A 限制了 SQL> insert into test values ('abc123','abc123'); insert into test values ('abc123','abc123') ORA-12899: 列 ""."TEST"."COLA" 的值太大 (实际值: 6,最大值: 5) --col b 多一个中文字符报错 SQL> insert into test values ('abc12','abc12张'); insert into test values ('abc12','abc12张') ORA-12899: 列 ""."TEST"."COLB" 的值太大 (实际值: 6,最大值: 5) SQL> insert into test values ('abc12','abc1张'); 2 SQL> SQL> insert into test values ('abc12','abc1张'); 1 row inserted SQL> commit; Commit complete SQL> insert into test values ('abc1张','abc1张'); insert into test values ('abc1张','abc1张') ORA-12899: 列 ""."TEST"."COLA" 的值太大 (实际值: 6,最大值: 5) SQL> select * from test; 2 SQL> SQL> select * from test; COLA COLB ----- ---------- abc12 abc12 abc12 abc1张 SQL>(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |