加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读