06-oracle 通用函数
--nvl(数字|列名,默认值) 数字或列的值为null显示为0,不为null时显示原值
--nvl2(comm,comm,0)如果comm不为null则显示comm,为null则显示0
--nullif(表达式一,表达式二) 判断2个表达式是否相等
--decode(数值|列,值1,值1时输出的结果,值2,值2时输出的结果。。。)
--case 列名 when 条件 then 动作 else end结束
---------------
select comm 原值,nvl(comm,0) 为null显示0不为null显示原值 from emp;


--求员工年薪(null不能直接运算符一起使用,否则结果为null)
select ename,job,sal,comm,(sal+nvl(comm,0))*12 年薪 from emp;
·
--nvl2(comm,comm,0)如果comm不为null则显示comm,为null则显示0
select comm,nvl2(comm,comm,0) from emp;

select sal,comm,(sal+nvl(comm,0))*12 年薪,nvl2(comm,sal+comm,sal)*12 年薪 from emp;

--nullif(表达式一,表达式二)如果表达式一等于表达式二则返回null,如果表达式一不等表达式二则返回表达式一
select ename,job,length(ename),length(job),nullif(length(ename),length(job)) nullif判断结果
from emp;

--decode(数值|列,值1,值1时输出的结果,值2,值2时输出的结果)
--值为1时输出one,值为2时输入two
select decode(2,1,'one',2,'two') 此时值为2 ,
decode(1,1,'one',2,'two') 此时值为1
from dual;

--decode job列的工作为CLERK时输出业务员,工作为SALESMAN时输出销售。。。。
select ename,job,decode(job,
'CLERK','业务员',
'SALESMAN','销售',
'PRESIDENT','LD',
'MANAGER','经理',
'ANALYST','ana'
) 职位类别
from emp;

--case when then 当工作为clerk时工资涨20%工作为salesman时涨30%。。。end表示case的结束
select ename,job,sal,
case job
when 'CLERK' then sal*1.2
when 'SALESMAN' then sal*1.3
when 'MANAGER' then sal*1.4
else
sal*1.1
end 工资增长后
from emp;

06-oracle 通用函数的更多相关文章
- oracle通用函数,nvl,nvl2,NULLIF ,coalesce
Oracle 通用函数 ① NVL 函数--------将空值转换成一个已知的值: 可以使用的数据类型有日期.字符.数字. 函数的一般形式: NVL(commission_pct,0) ...
- 数据库Oracle通用函数
通用函数:可用于任意数据类型,并且适用于空值.• NVL (expr1, expr2) • NVL2 (expr1, expr2, expr3) • NULLIF (expr1, expr2) • C ...
- 2014/11/06 Oracle触发器初步 2014-11-06 09:03 49人阅读 评论(0) 收藏
触发器我就不多解释了,保证数据的完整性的神器,嗯..也是减少程序员工作托管给数据库操作的好帮手.就不讲一些大道理了.通俗点,我们对数据库的操作,无非就是增 删 改 查. 触发器就是在删,改,增的时候( ...
- 检索06 - Oracle MySql SqlSever之间的区别和优缺点
三者之间区别 历史 1 Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision. Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十 ...
- Oracle数据库异机升级
环境: A机:RHEL5.5 + Oracle 10.2.0.4 B机:RHEL5.5 需求: A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序. 目录: 一. 确认是 ...
- oracle进程
http://blog.csdn.net/leshami/article/details/5529239 Oracle实例和Oracle数据库(Oracle体系结构) 几类进程:用户进程,服务进程,后 ...
- Oracle DBA 的常用Unix参考手册(一)
作为一名Oracle DBA,在所难免要接触Unix,但是Unix本身又是极其复杂的,想要深刻掌握同样很不容易.那么到底我们该怎么入手呢?Donald K Burleson 的<Unix for ...
- ORACLE日常操作手册
转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...
- Oracle Grid control 11g及Active DataGuard 11g安装部署
Oracle Grid control 11g及Active DataGuard 11g安装部署(一) 原贴 http://blog.csdn.net/lichangzai/article/detai ...
- Oracle 学习笔记二
一.oracle通用函数vnl(a,b) 用于任何类型,如果a的值不为null返回a的值否则返回b的值 条件判断oracle中可以使用 case 字段 when 条件1 then 表达式1 when ...
随机推荐
- 一个java多线程面试题
线程a 打印 数字 0--12: 线程b 打印 字母 a--z; 打印结果:0ab1cd2ef3gh4ij5kl6mn7op8qr9st10uv11wx12yz 要求用到 线程间传值: 分析:线程a打 ...
- Spring实战-README.md
教程 <Spring实战>(第四版),[美]Craig Walls著,张卫滨译 人民邮电出版社,2016.4 本系列博文包括: 第01章-Spring之旅 第02章-装配Bean 第03章 ...
- ssm集合的配置
web.xml <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&quo ...
- 洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)
SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一条从A至B的水管的路径, ...
- Android-Activity临时数据的保存
Activity临时数据的保存是非常重要的,例如:一款小说APP应用,读者使用这款APP看到了223页,用户也没有去记看了多少页: 突然去接了个电话,或者开启的应用程序太多了,可能会导致这款APP应用 ...
- Wait--查看等待
--清除等待统计 --===================================================== --清除等待统计 DBCC SQLPERF (N'sys.dm_os_ ...
- hdu Surround the Trees
题目链接:戳我 凸包模板 #include<iostream> #include<cstdio> #include<cstring> #include<alg ...
- OpenCV库文件介绍
以前都是直接用opencv,都没有仔细研究过,这次把库文件都介绍一下. 1.build和source 当我们安装完opencv中,你会发现在opencv文件夹中有两个文件夹,build和source, ...
- HDU6184【Counting Stars】(三元环计数)
题面 传送门 给出一张无向图,求 \(4\) 个点构成两个有公共边的三元环的方案数. 题解 orz余奶奶,orz zzk 首先,如果我们知道经过每条边的三元环个数\(cnt_i\),那么答案就是\(\ ...
- 洛谷P5211 [ZJOI2017]字符串(线段树+乱搞)
题面 传送门 题解 为什么大佬们全都是乱搞的--莫非这就是传说中的暴力能进队,乱搞能AC-- 似乎有位大佬能有纯暴力+玄学优化\(AC\)(不算上\(uoj\)的\(Hack\)数据的话--这要是放到 ...