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 ...
随机推荐
- 用word发CSDN blog
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- 常用的String方法Math方法
Arrays.sort();冒泡排序字符串.charAt(i);字符串索引i上的字符Integer.prsent(字符串) 字符串转整数equals(Object anObject) 将此字符串与指定 ...
- Altera SOPC FrameBuffer系统设计教程
Altera SOPC FrameBuffer系统设计教程 小梅哥编写,未经授权,严禁转载或用于任何商业用途 在嵌入式系统中,LCD屏作为最友好的人机交互方式,被大量的应用到了各个系统中.在基于ARM ...
- 关于typedef的用法总结(装)
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...
- Delphi 中调用JS文件中的方法
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- [修正] Firemonkey Windows 控件有虚线残影问题
说明:在 Wndows 显示时,有时控件左方会显示一条虚线 适用:Firemonkey Windows (Berlin 或更高版) 修正方法: 请将源码 FMX.Canvas.D2D.pas 复制到自 ...
- .net EventHandler 事件处理
通常定义事件 都是通过自定义委托的方式来实现, 今天使用EventHandler 委托来定义事件: public class NewMailEventArgs : EventArgs { priv ...
- Spring.NET 整合Nhibernate
因为最近无意中学了AOP ,所以想一探究竟,看看.net里这个Spring.Net 到底是怎么回事,请有需要的童鞋往下,不需要的请alt+w.因为是先配置的 Nhibernate 所以就从这个开始.开 ...
- Backup--修改实例级别是否使用压缩备份的默认值
--========================================= --修改实例级别是否使用压缩备份的默认值 USE master; GO EXEC sp_configure 'b ...
- Spreadsheet 常用属性
标题栏是否可见 Spreadsheet1.TitleBar.Visible=true 标题栏背景颜色 Spreadsheet1.TitleBar.Interior.Color="Green& ...