--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 通用函数的更多相关文章

  1. oracle通用函数,nvl,nvl2,NULLIF ,coalesce

    Oracle 通用函数 ① NVL 函数--------将空值转换成一个已知的值: 可以使用的数据类型有日期.字符.数字. 函数的一般形式:   NVL(commission_pct,0)       ...

  2. 数据库Oracle通用函数

    通用函数:可用于任意数据类型,并且适用于空值.• NVL (expr1, expr2) • NVL2 (expr1, expr2, expr3) • NULLIF (expr1, expr2) • C ...

  3. 2014/11/06 Oracle触发器初步 2014-11-06 09:03 49人阅读 评论(0) 收藏

    触发器我就不多解释了,保证数据的完整性的神器,嗯..也是减少程序员工作托管给数据库操作的好帮手.就不讲一些大道理了.通俗点,我们对数据库的操作,无非就是增 删 改 查. 触发器就是在删,改,增的时候( ...

  4. 检索06 - Oracle MySql SqlSever之间的区别和优缺点

    三者之间区别 历史 1 Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision. Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十 ...

  5. Oracle数据库异机升级

    环境: A机:RHEL5.5 + Oracle 10.2.0.4 B机:RHEL5.5 需求: A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序. 目录: 一. 确认是 ...

  6. oracle进程

    http://blog.csdn.net/leshami/article/details/5529239 Oracle实例和Oracle数据库(Oracle体系结构) 几类进程:用户进程,服务进程,后 ...

  7. Oracle DBA 的常用Unix参考手册(一)

    作为一名Oracle DBA,在所难免要接触Unix,但是Unix本身又是极其复杂的,想要深刻掌握同样很不容易.那么到底我们该怎么入手呢?Donald K Burleson 的<Unix for ...

  8. ORACLE日常操作手册

    转发自:http://blog.csdn.net/lichangzai/article/details/7955766 以前为开发人员编写的oracle基础操作手册,都基本的oracle操作和SQL语 ...

  9. Oracle Grid control 11g及Active DataGuard 11g安装部署

    Oracle Grid control 11g及Active DataGuard 11g安装部署(一) 原贴 http://blog.csdn.net/lichangzai/article/detai ...

  10. Oracle 学习笔记二

    一.oracle通用函数vnl(a,b) 用于任何类型,如果a的值不为null返回a的值否则返回b的值 条件判断oracle中可以使用 case 字段 when 条件1 then 表达式1 when ...

随机推荐

  1. 【转载】java实现rabbitmq消息的发送接受

    原文地址:http://blog.csdn.net/sdyy321/article/details/9241445 本文不介绍amqp和rabbitmq相关知识,请自行网上查阅 本文是基于spring ...

  2. CodeForces 288B Polo the Penguin and Houses (暴力或都快速幂)

    题意:给定 n 和k,n 表示有n个房子,然后每个有一个编号,一只鹅要从一个房间中开始走,下一站就是房间的编号,现在要你求出有多少种方法编号并满足下面的要求: 1.如果从1-k房间开始走,一定能直到 ...

  3. JS 观察者模式

    Events = function() { var listen, log, obj, one, remove, trigger, __this; obj = {}; __this = this; l ...

  4. Arch Linux freemind中文乱码

    原因:jre没有可用的中文字体 解决方法: (1) 安装中文字体,例如文泉驿微黑 pacman -S wqy-microhei (2) jre字体目录下建立fallback,并链接中文字体作为后备字体 ...

  5. CSS选择器与jQuery选择器的异同:一些特殊的选择器

    在CSS3选择器标淮草案定义的选择器语法中,jQuery支持相当完整的一套子集,同时还添加了一些非标准但很有用的伪类.下面是一些jQuery扩展的选择器:(来自http://www.cnblogs.c ...

  6. MVC4 View 的呈现

    一 ActionResult: 1. EmptyResult: Action方法返回的ActionResult对象被ActionInvoker 调用以实现对当前请求的响应,不论Action方法是否具有 ...

  7. SQL存储过程编写,包含临时表

    create proc R_ProductUse_M(@id1 int,@id2 int,@id3 int) as begin ---临时表1 select a.id1,b.id2,c.id3 int ...

  8. 微信开发之c#下jssdk签名生成

    参考文章 :微信JS-SDK 权限签名算法 C#版 这篇文章讲解的的比较详细,而且算法准确,但是这篇文章有几个错误的地方需要注意; url必须动态生成 url不能写死,否则就算结果和官方检测的一致,也 ...

  9. python-数值类型转换

    常用的数据类型转换 函数 说明 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 complex(r ...

  10. Linux基础实验(一)

    一)基础实验:1. Unix中常见shell及其命令(shell的缩写)    Bourne shell (sh)      Korn shell (ksh)    C shell (csh)     ...