这样的问题怎么处理,有一列值可能是NULL,它被放在计算里

来源:百度知道 编辑:UC知道 时间:2024/05/15 14:16:23
select ENAME, SAL+COMM,JOB from emp
where job not in ('SALESMAN')
ORDER BY JOB;
SAL,COMM为金额列,这样展示的数据中,COMM有可能是NULL,SAL则全是数值型的
那这样的话假如同行中SAL+COMM(NULL)结果也是NULL
怎么能让显示结果是金额呢

select ENAME,isnull(SAL,0)+isnull(COMM,0),JOB from emp where job not in ('SALESMAN') ORDER BY JOB --SqlServer语法

select ENAME,nvl(SAL,0)+nvl(COMM,0),JOB from emp where job not in ('SALESMAN') ORDER BY JOB --Oracle语法

select ENAME,ifnull(SAL,0)+ifnull(COMM,0),JOB from emp where job not in ('SALESMAN') ORDER BY JOB --mysql语法

以上,希望对你有所帮助

select ENAME, nvl((SAL+COMM),0),JOB from emp
where job not in ('SALESMAN')
ORDER BY JOB;