博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解
阅读量:6373 次
发布时间:2019-06-23

本文共 1947 字,大约阅读时间需要 6 分钟。

NVL(EXPR1,EXPR2)NVL2(EXPR1,EXPR2,EXPR3)(EXPR1,EXPR2)(EXPR1,,..,EXPRn)decode--------NVLnvl(COMMISSION_PCT,0)--如果第一个参数为null,则返回第二个参数--如果第一个参数为非null,则返回第一个参数---经典示例:计算年薪(工资+提成) LAST_NAME,SALARY,NVL(COMMISSION_PCT,0),        (SALARY*12)+(SALARY*12*NVL(COMMISSION_PCT,0)) ANNUAL_SALARY    EMPLOYEES    LAST_NAME='Matos';    --------NVL2NVL2(COMMISSION_PCT,'SAL_COMM','SAL')--如果第一个参数为null,则返回第三个参数--如果第一个参数为非null,则返回第二个参数--经典示例: LAST_NAME,SALARY,COMMISSION_PCT,NVL2(COMMISSION_PCT,'SAL+COMM','SAL') INCOME EMPLOYEES DEPARTMENT_ID  (50,80);---------NULLIF(length(first_name),length(last_name))---如果两个参数值相等,则返回 null---如果两个参数不等,则返回第一个表达式值 FIRST_NAME ,LENGTH(FIRST_NAME) "EXPR1",        LAST_NAME, LENGTH(LAST_NAME) "expr2",   (length(first_name),length(last_name)) result EMPLOYEES;---------COALESCE(EXPR1,EXPR2,EXPR3...EXPRn)--从左往右数,遇到第一个非null值,则返回该非null值。--多层判断 LAST_NAME,EMPLOYEE_ID,        (TO_CHAR(commission_pct),TO_CHAR(manager_id),   'No commission and no manager') EMPLOYEES;--------------------------------------------条件表达式----CASE 语句(SQL标准,编写繁杂)--DECODE 函数DECODE(COL|EXPRESSION,SERACH1,RESULT1                       [,search2,result2,...,]  [,])--如果 search1 = expression 则返回 result1  --如果 search2 = expression 则返回 result2 ---------CASE--示例: LAST_NAME,JOB_ID,SALARY,         JOB_ID  'IT_PROG'  1.10*SALARY                'ST_CLERK'  1.15*SALARY    'SA_REP'  1.20*SALARY    SALARY  "REVISED SALARY" EMPLOYEES;---------DECODE--示例:----DECODE函数的作用:它可以将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。 ---  区别于SQL的其它函数,DECODE函数还能识别和操作空值。  --- 语法如下:   DECODE(control_value,1,result1[,2,result2…][,default_result]);  control _value  -- 试图处理的数值。DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。   1  -----是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应   result1  ---- 是一组成序偶的结果值。   ---default_result 未能与任何一个值匹配时,函数返回的默认值。   ---示例如下:    decode( x , 1 , ‘x  1 ’, 2 , ‘x  2 ’, ‘others’)  dual  ---------------------

转载地址:http://gvjqa.baihongyu.com/

你可能感兴趣的文章
Tab页界面之二,jQuery技术实现
查看>>
如何查看linux版本
查看>>
导出DC数据以便以介质方式安装另一台域控制器
查看>>
2、Gerrit配置--用户配置
查看>>
Centos7 Nginx 服务器的安装配置
查看>>
Backtrack5 网络漏洞攻击工具 Metasploit
查看>>
Hibernate学习(八):检索方式
查看>>
RIPv1 PK RIPv2
查看>>
基于WorsPress+Xampp搭建博客
查看>>
noclobber:避免文件的重写
查看>>
Weblogic多应用部署在一个域下导致session冲突
查看>>
安装Centos6 分区时出现缺少/boot/efi 经验分享
查看>>
浅析Happyhour的适用性
查看>>
利用Oracle VPD实现行级安全保护(一)
查看>>
Spring中数据绑定的两种方式(BeanWrapperImpl或者DataBinder)
查看>>
一个关于Cobar 的释疑
查看>>
Outlook 2007对于不同(Gmail.Sina.Sohu.126.163.Yahoo.Hotmail)Email账号设置
查看>>
NUMA与英特尔下一代Xeon处理器学习心得(9)
查看>>
Inter VLAN routing router on GNS3
查看>>
一个简单的密码学实例
查看>>