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 ...
随机推荐
- Class Loading Deadlocks
By tomas.nilsson on Feb 28, 2010 Mattis keeps going strong, in this installment you get to learn eve ...
- 洛谷P2147[SDOI2008]洞穴勘测(lct)
题目描述 辉辉热衷于洞穴勘测. 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴.假 ...
- CodeForces 408E Curious Array(组合数学+差分)
You've got an array consisting of n integers: a[1], a[2], ..., a[n]. Moreover, there are m queries, ...
- imagelist用法
1.添加一个Imagelist控件,并双击控件图标如下图 2.点击新增按钮
- 纯分享scp协议如何工作
scp协议是什么, wiki上说: Secure copy or SCP is a means of securely transferring computer files between a lo ...
- TCP中的seq
TCP连接中传送的字节流中的每个字节都按顺序编号,第一个字节的编号由本地随机产生 seq其实就是这个报文段中的第一个字节的数据编号. 例如,一段报文的序号字段值是 200 ,而携带的数据共有100字段 ...
- map的回调函数
问题:--js (['1','2','3']).map(parseInt) 第一眼看到这个题目的时候,脑海跳出的答案是 [1, 2, 3],但是真正的答案是[1, NaN, NaN]. 首先让我们 ...
- 关于C#/sqlserver生成32位数据库字段总结
一.C#中用Guid.NewGuid().ToString() Sql中用NEWID() 以上方法生成的是36位的GUID,如果需要转换成32位,则需要替换掉其中的'-'字符. Sql中的方法:r ...
- Linux下卸载删除.Net Core
最近在技术博客和技术交流群遇到很多小伙伴们在Linux下更新或者安装.Net Core SDK后dotnet命令无法识别等问题,现如下解决: 卸载SDK命令 sudo yum remove dotne ...
- SAH Benchmarks Of Natural History Museum Scene
method ...