1.decode
decode(待判断值,被判断值1,返回值1,被判断值2,返回值2,...被判断值n,返回值n,无匹配返回值)
select decode('0','0','这个数是0','1','这个数是1','2','这个数是2') as Test_decode from dual
union all
select decode('1','0','这个数是0','1','这个数是1','2','这个数是2') as Test_decode from dual
union all
select decode('2','0','这个数是0','1','这个数是1','2','这个数是2') as Test_decode from dual
union all
select decode('3','0','这个数是0','1','这个数是1','2','这个数是2','这个数没有判断值') as Test_decode from dual;
2.nvl
nvl(待判断值,返回值);
select nvl(null,'待判断值是空值,返回我') as Test_NVL from dual
union all
select nvl('这次我不是空值','待判断值是空值,返回我') as Test_NVL from dual;
3.nvl2
nvl2(待判断值,返回值1,返回值2);
select nvl2(null,'待判断值"不是"空值返回我','待判断值是"空"值返回我') as Test_NVL2 from dual
union all
select nvl2('1','待判断值"不是"空值返回我','待判断值是"空"值返回我') as Test_NVL2 from dual;