/*
通用函数
*/
--nvl(参数1,参数2):如果参数1不为空,返回参数1,如果为空,返回参数2
SELECT nvl(1,2) FROM dual;--1
SELECT nvl(NULL,2) FROM dual;--2
--nvl2(参数1,参数2,参数3):如果参数1不为空,返回参数2,如果为空,返回参数3
SELECT nvl2(1,2,3) FROM dual;--2
SELECT nvl2(NULL,2,3) FROM dual;--3
--nullif(参数1,参数2):参数1不等于参数2,返回参数1,如果相等,返回空
SELECT nullif(1,2) FROM dual;--1
SELECT nullif(2,2) FROM dual;--NULL
--coalesce(参数1,参数2,……,参数N):返回第一个非空值,如果都为空,则返回空
SELECT coalesce(1,2,3,4,5) FROM dual;--1
SELECT coalesce(NULL,NULL,3,4,5) FROM dual;--3
--查询员工编号,姓名,工资,奖金金额,实发工资(工资+奖金)
select ename,sal,comm,(sal+nvl(comm,0)) as 实发工资 from emp;
--查询没有部门的员工(不用is null is not null实现)
select * from emp where deptno is null;
==
select * from emp where nvl(deptno,0) = 0
通用函数
*/
--nvl(参数1,参数2):如果参数1不为空,返回参数1,如果为空,返回参数2
SELECT nvl(1,2) FROM dual;--1
SELECT nvl(NULL,2) FROM dual;--2
--nvl2(参数1,参数2,参数3):如果参数1不为空,返回参数2,如果为空,返回参数3
SELECT nvl2(1,2,3) FROM dual;--2
SELECT nvl2(NULL,2,3) FROM dual;--3
--nullif(参数1,参数2):参数1不等于参数2,返回参数1,如果相等,返回空
SELECT nullif(1,2) FROM dual;--1
SELECT nullif(2,2) FROM dual;--NULL
--coalesce(参数1,参数2,……,参数N):返回第一个非空值,如果都为空,则返回空
SELECT coalesce(1,2,3,4,5) FROM dual;--1
SELECT coalesce(NULL,NULL,3,4,5) FROM dual;--3
--查询员工编号,姓名,工资,奖金金额,实发工资(工资+奖金)
select ename,sal,comm,(sal+nvl(comm,0)) as 实发工资 from emp;
--查询没有部门的员工(不用is null is not null实现)
select * from emp where deptno is null;
==
select * from emp where nvl(deptno,0) = 0