今天有朋友反馈有字段varchar2(5)可以默认为00000,于是自己测试了一下,果然可以
建表语句:
-- Create table
create table BB
(
o NUMBER not null,
p VARCHAR2(5) default 000000 not null
)
tablespace HIP_DATA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table BB
add constraint PK_BB primary key (O)
using index
tablespace HIP_DATA
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
插入2条数据后,出现默认值都是0:
修改默认值为000001后再插入1条数据,出现默认值都是1的情况
修改默认值为100000,报错:
同样修改默认值为'000000',报错:
为了避免默认值的位数问题,varchar2类型的默认值尽量加双引号。