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. 【转】WF事件驱动

    转自:http://www.cnblogs.com/Mayvar/category/315963.html 这系统的教程有代码可以下载 WF事件驱动(5) 摘要: 之前,我通过4篇文章介绍了在WF4中 ...

  2. 【深度解析】Google第二代深度学习引擎TensorFlow开源

    作者:王嘉俊 王婉婷 TensorFlow 是 Google 第二代深度学习系统,今天宣布完全开源.TensorFlow 是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码.使用 Tens ...

  3. HTML5 Canvas画数字时钟

    先不说废话,没代码算个蛋. 一些地方注释都写得比较清楚,不过这只是部分,因为只有秒针,但是时针,分针的逻辑都是一致的. 代码中有些坐标不知道为什么较不准,看看就好

  4. JQUERY1.9学习笔记 之可见性过滤器(一) 隐藏选择器

    描述:选择所有隐藏的元素. jQuery( ":hidden" ) 例:显示出所有隐藏的div元素,并对隐藏的input元素计数. <!doctype html>< ...

  5. PHP之验证码识别

    首先推荐几篇有关验证码识别的文章,觉得不错 php实现验证码的识别(初级篇) 关于bp神经网格识别验证码 一.思路 碰见一个验证码,如果我们想要识别它,我们需要的是做什么呢? 我们先观察几个验证码.. ...

  6. Javascript跳转手机站代码

    $(document).ready(function(){ var mobileAgent = new Array("iphone", "ipod", &quo ...

  7. WAMP中修改mysql默认空密码

    WAMP中如何修改mysql默认空密码 WAMP安装好后,mysql教程密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作.首先,通过WAMP打开mysql控制台.提 ...

  8. JS获取select选中的值

    var oSel=oFl.getElementsByTagName('select')[0]; oSel.onchange=function(){ var indexselect=oSel.selec ...

  9. start-tomcat7.launch

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <launc ...

  10. java和javascript获取word文档的书签位置对比

    1.javascript:把IE浏览器的activex都打开,使用如下网页,可以看到书签顺序和位置: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...