Oracle系列:(11)通用函数和条件判断函数
使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date) 通用函数:参数类型可以是number或varchar2或date类型 selectename,sal*12+NVL(comm,0)fromemp; 使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入 selectename,sal*12+NVL2(comm,comm,0)fromemp; 使用NULLIF(a,b)通用函数,在类型一致的情况下,如果a与b相同,返回NULL,否则返回a,比较10和10.0是否相同 select NULLIF(10,'10') from dual; 使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400 case 字段 when 条件1 then 表达式1 when 条件2 then 表达式2 else 表达式n end 课后请参考<MySQL5.X的手册>-12.2这个章节 selectename"姓名",job"职位",sal"涨前工资",casejob when'ANALYST'thensal+1000 when'MANAGER'thensal+800 elsesal+400 end"涨后工资" fromemp; 使用oracle专用语法中的decode()函数,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400 decode(字段,条件1,表达式1,条件2,表达式2,...表达式n) selectename"姓名",decode(job,'ANALYST',sal+1000,'MANAGER',sal+800,sal+400)"涨后工资" fromemp; |