numeric字段 设置不允许null有关问题

numeric字段 设置不允许null问题
numeric字段类型 , 设置不允许null,默认值为0,
插入的时候 插入null 报错,提示 列不允许null,
请问为什么没有把默认值 0插入到字段里面??
------解决思路----------------------
create table tab(ID int,num NUMERIC(18,0) default 0);--加上默认值
insert into tab(ID) values(1)

SELECT * FROM TAB
/*
ID num

1 0*/

------解决思路----------------------
概念不清啊!
默认值表示你不指定时用来填充的值,#1举例了。
NOT NULL 就是不允许指定 NULL,否则就报错。
这是两个独立规则。

至于指定了 NULL 而用默认值代替,数据库从来没有这种规则。
你为什么不自己把 NULL 替换成 0?