create table a(asd int);
insert into a values(12);
alter table a add(asdf int);
insert into a values(12,12);
这个时候第一次插入的行就少了一个字段的值,现在那个值为空
select asd ,asdf from a;
返回值为
12
12 12
select asd,nvl(asdf,0) from a;
返回值为
12 0
12 12
如nvl(字段,‘x’)字段值等于null就这个函数得到的结果就是'x',
一般用于存在空值比较的情况下,比如字段a与字段b都是int型,其中一个等于null另一个为非空值,你使用a<>b是不成立的,使用此条件查询你将丢失这条本来不相等的数据,可以如此用法nvl(字段,-1)<>nvl(字段,-1),这样就可以得到想要查询的数据,当然查询数据的前提是此字段值不能有-1值才能用这种写法