nvl  

NVL的概念

  Oracle/PLSQL中的一个函数。   格式为:   NVL( string1, replace_with)   功能:假设string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,假设两个參数的都为NULL ,则返回NULL。   注意事项:string1和replace_with必须为同一数据类型,除非显示的使用TO_CHAR函数。   例:NVL(TO_CHAR(numeric_column), 'some string') 当中numeric_column代指某个数字类型的值。   例:nvl(yanlei777,0) > 0   NVL(yanlei777, 0) 的意思是 假设 yanlei777 是NULL, 则取 0值   通过查询获得某个字段的合计值,假设这个值为null将给出一个预设的默认值   比如:   select nvl(sum(t.dwxhl),1)   from tb_jhde t   就表示假设sum(t.dwxhl) = NULL 就返回 1   还有一个有关的实用方法   declare i integer   select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1这样就能够把获得的合计值存储到变量   i中,假设查询的值为null就把它的值设置为默认的1   orcale中:   select nvl(rulescore,0) from zwjc_graderule where rulecode='FWTD';   假设记录中不存在rulecode ='FWTD'的数据.则查不出数据.   select nvl(rulescore,0) into rule_score from zwjc_graderule where rulecode='FWTD';会报查不到数据的错   select nvl(sum(rulescore),0) from zwjc_graderule where rulecode='FWTD';   假设记录中不存在rulecode ='FWTD'的数据.还是能够得到一行列名为nvl(rulescore,0),值为0的数据.   select nvl(sum(rulescore),0) into rule_score from zwjc_graderule where rulecode='FWTD'; 不会报错

NVL的扩展-NVL2

  Oracle在NVL函数的功能上扩展,提供了NVL2函数。   NVL2(E1, E2, E3)的功能为:假设E1为NULL,则函数返回E3,否则返回E2。

ORACLE CASE WHEN 及 SELECT CASE WHEN的使用方法
SELECT col1, col2,

  CASE

  WHEN col3 > 1 AND col3 <2

  THEN '1'

  WHEN col3 > 2 AND col3 <3

  THEN '2'

  WHEN col3 > 3 AND col3 <4

  THEN '3'

  ELSE '4'

  END mylevel

  FROM table1

  注意点:

  1、以CASE开头,以END结尾

  2、分支中WHEN 后跟条件,THEN为显示结果

  3、ELSE 为除此之外的默认情况,相似于高级语言程序中switch case的default,能够不加

  4、END 后跟别名

nvl,空时的推断和取值的更多相关文章

  1. (转)C# TextBox ReadOnly / Enabled 时,后台无法取值问题

    当页面上的某个TextBox 设置了属性ReadOnly = "True" 或 Enabled = "False" 时,在客户端为其赋值后,在后台代码中却无法获 ...

  2. 【SQL查询】查询的值为空时,给出默认值_NVL函数

    格式为: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值. 引申一下,此NVL的作 ...

  3. Jquery Post提交时Content-Type的不同取值详解

    四种常见的 POST 提交数据方式 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范.规范把 HTTP 请求分为三个部分:状态行.请求头.消息主体.类似于下 ...

  4. LoadRunner中,参数化时Unique取值方式的理解

    LoadRunner中,参数化时Unique取值方式的理解 2012年10月15日 18:10:36 瑞秋 阅读数:10028   在LoadRunner中进行参数化时,Parameter的取值设置有 ...

  5. mybatis中查询结果为空时不同返回类型对应返回值

    今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同 ...

  6. ASP.NET中多个相同name的控件在后台正确取值

    有兽,   页面上可能有多个相同name的Html表单控件,   一般在后台使用Request.Form[“name”]取值,并用‘,’分隔.   但是当值中包含逗号时,   取值就会出现异常,   ...

  7. loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

    loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...

  8. 浅析mybatis中${}和#{}取值区别

    mybatis作为一个轻量级的ORM框架,应用广泛,其上手使用也比较简单:一个成熟的框架,必然有精巧的设计,值得学习. 在使用mybatis框架时,在sql语句中获取传入的参数有如下两种方式: ${p ...

  9. setlocale(LC_ALL, ""); 取值为空字符串" "(注意,不是NULL),则locale与本地环境所使用的编码方式相同(在本地化时,应该很有用);

    在C运行库提供的多字节字符-宽字符转换函数:mbstowcs()/wcstombs()中,需要用到全局变量locale( locale encoding ),以指定多字节字符的编码类型 1. 功能: ...

随机推荐

  1. 寻找链表中倒数第K个结点的位置

    输入一个链表,输出该链表中倒数第K个结点. struct ListNode { int m_nValue; ListNode* m_pNext; }; ListNode* FindKthToTail( ...

  2. 异步IO简介

    最近想学习一下libevent,就先翻译一下libevent的官方文档吧. 英文原文链接:http://www.wangafu.net/~nickm/libevent-book/01_intro.ht ...

  3. 『重构--改善既有代码的设计』读书笔记----Inline Class

    如果某个类没有做太多的事情,你可以将这个类的所有特性搬移到另外一个类中,然后删除原类.可以看到,Inline Class正好和Extract Class相反,后者是将一个巨类分解成多个小类从而来分担责 ...

  4. seaJs初体验

    目录结构 模块定义define define(function(require,exports,module){ //exports可以把方法或属性暴露给外部 exports.name = 'hell ...

  5. 舵机的PWM控制学习随笔

    舵机的控制信号,对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用 ...

  6. BZOJ 3107 二进制a+b

    Description 输入三个整数\(a, b, c\),把它们写成无前导\(0\)的二进制整数.比如\(a=7, b=6, c=9\),写成二进制为\(a=111, b=110, c=1001\) ...

  7. MIT教授将网页开发整合为完整独立的程式语言Ur/Web

    MIT 的软体技术教授 Adam Chlipala 设计了新的 Ur/Web 程式语言,这是一个整合 HTML.CSS.XML.SQL 及 JavaScript 等网路标准的“完整独立”语言,强调快速 ...

  8. Inotify: 高效、实时的Linux文件系统事件监控框架

      Inotify: 高效.实时的Linux文件系统事件监控框架   概要 - 为什么需要监控文件系统? 在日常工作中,人们往往需要知道在某些文件(夹)上都有那些变化,比如:   通知配置文件的改变 ...

  9. redis数据过期策略【转】

    key的过期时间通常,Redis key被创建时不会自动关联过期时间,key将长久存在,除非通过DEL等命令显示的删除.EXPIRE命令簇可以为指定的key关联一个过期时间,代价是一点额外的内存开销. ...

  10. UVA 796 Critical Links(无向图求桥)

    题目大意:给你一个网络要求这里面的桥. 输入数据: n 个点 点的编号  (与这个点相连的点的个数m)  依次是m个点的   输入到文件结束. 桥输出的时候需要排序   知识汇总: 桥:   无向连通 ...