想问下 sql中除了 case when 之外还有没有别的方法给字段下面空白值进行填充,因为再有空白值的情况下我进行算数运算的话他返回的也是空白值;
有没有不增加字段,在原有字段的基础上,对字段里面的null值进行填充的方法呢?
补充:想要直接写在select 里面的方法
select 只是个查询,不会变更原字段的值的,要把空值的字段本身改成不是空的,只能使用update修改这个字段的值,比如
update 表 set 字段=0 where 字段 is null;
如果不想变更表里的数据,仅在select中计算的话,同样也要使用转换后的字段进行计算,不能使用原字段计算,比如
select (case when 字段 is null then 0 esle 字段 end) +3.14 from 表
isnull(value1,value2)
ifnull(exper1,exper2)
判断exper1是否为空,是则用exper2代替
nvl(value1,value2)
这个函数的意思是如果value1的值为null,那么函数返回value2的值 ,如果value1不为空,那么就返回value1的值。
需要注意的是value1和value2要保持字段类型相同。