加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 16:00:44 所属栏目:百科 来源:网络整理
导读:使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date) 通用函数:参数类型可以是number或varchar2或date类型 selectename,sal*12+NVL(comm,0)fromemp; 650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loadin

单引号出现的地方如下:

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')‘’号中的英文字符大小写不敏感

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!


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

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

selectename,sal*12+NVL(comm,0)fromemp;

wKioL1fP3ufzfvGzAAAaGsv5Dyc989.png


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

selectename,sal*12+NVL2(comm,comm,0)fromemp;

wKioL1fP3yuj2FfpAAAbo5eX_UY447.png


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

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

wKiom1fP34-j4ZSXAAAXU7xPSbY609.png


使用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;

wKioL1fP4ELQ6tBFAABCzVwIMnI052.png

wKioL1fP4o_xgRUEAAA_xJfO0fg654.png


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

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

selectename"姓名",decode(job,'ANALYST',sal+1000,'MANAGER',sal+800,sal+400)"涨后工资"
fromemp;

wKiom1fP4IaDQ38_AAA2q44Tw4g840.png



    推荐文章
      热点阅读