温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle系列:(11)通用函数和条件判断函数

发布时间:2020-06-22 18:58:21 来源:网络 阅读:838 作者:lsieun 栏目:关系型数据库


使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date)

通用函数:参数类型可以是number或varchar2或date类型

select ename,sal*12+NVL(comm,0) from emp;

Oracle系列:(11)通用函数和条件判断函数


使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入 

select ename,sal*12+NVL2(comm,comm,0) from emp;

Oracle系列:(11)通用函数和条件判断函数


使用NULLIF(a,b)通用函数,在类型一致的情况下,如果a与b相同,返回NULL,否则返回a,比较10和10.0是否相同

select NULLIF(10,'10') from dual;

Oracle系列:(11)通用函数和条件判断函数


使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

case 字段 

     when 条件1 then 表达式1

     when 条件2 then 表达式2

     else 表达式n

end 

课后请参考<MySQL5.X的手册>-12.2这个章节

select ename "姓名",job "职位",sal "涨前工资",
       case job
            when 'ANALYST' then sal+1000
            when 'MANAGER' then sal+800
         else sal+400
       end "涨后工资"
from emp;

Oracle系列:(11)通用函数和条件判断函数

Oracle系列:(11)通用函数和条件判断函数


使用oracle专用语法中的decode()函数,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

decode(字段,条件1,表达式1,条件2,表达式2,...表达式n)

select ename "姓名",job "职位",sal "涨前工资",
       decode(job,'ANALYST',sal+1000,'MANAGER',sal+800,sal+400) "涨后工资"
from emp;

Oracle系列:(11)通用函数和条件判断函数 


单引号出现的地方如下:

1)字符串,例如:'hello'

2)日期型,例如:'17-12月-80'

3)to_char/to_date(日期,'YYYY-MM-DD HH24:MI:SS')

双引号出现的地方如下:

1)列别名,例如:select ename "姓 名" from emp

2)to_char/to_date(日期,'YYYY"年"MM"月"DD"日" HH24:MI:SS')‘’号中的英文字符大小写不敏感



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI