NVL和NVL2两个函数虽然不经常用,但是偶尔也会用到,所以了解一下。

语法:

--如果表达式1为空则显示表达式2的值,如果表达式1不为空,则显示表达式1的值
NVL(表达式1,表达式2);
--如果字段1为空,则显示字段2的值,如果字段1不为空则显示字段1的值
NVL(字段1,字段2); --如果表达式1为空,则显示表达式2的值,如果不为空则显示表达式3的值
NVL2(表达式1,表达式2,表达式3)
--如果字段1为空则显示字段2的值,如果字段1不为空则显示字段3的值
NVL2(字段1,字段2,字段3)

比如有表:SYS_USER_INFO,表中有其中三个字段:REAL_NAME,NICK_NAME,NET_NAME。

需求;如果REAL_NAME为空,则查询NET_NAME,不为空则查询REAL_NAME:

SELECT NVL(REAL_NAME,NET_NAME) AS NAME FROM SYS_USER_INFO

在项目中有时需要在查询时预留几个备用字段,也可以通过NVL2来实现,如:

NVL2('SPARE','','') AS SPARE

这样无论如何都会有个SPARE为空的字段。

ORACLE——NVL()、NVL2() 函数的用法的更多相关文章

  1. Oracle nvl(),nvl2()函数介绍

    NVL函数 Oracle/PLSQL中的一个函数. 格式为: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值, ...

  2. oracle的substr函数的用法

    oracle的substr函数的用法 取得字符串中指定起始位置和长度的字符串   substr( string, start_position, [ length ] ) 如:     substr( ...

  3. 【转】oracle的substr函数的用法

    [转]oracle的substr函数的用法 )     would return 'The' ) value from dual

  4. Oracle 中 CONTAINS 函数的用法

    Oracle 中 CONTAINS 函数的用法 1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( a ...

  5. oracle中的nvl(), nvl2()函数

    nvl()函数是oracle/plpgsql中的一个函数,格式为:nvl(string1, replace_with) 功能:如果string1 位null,那么nvl()函数返回replace_wi ...

  6. oracle NVL,NVL2,NULLIF,COALESCE

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

  7. oracle nvl,nvl2,coalesce几个函数的区别

    1.nvl(exp1,exp2)该函数是处理表达式中的空值: 假设表达式exp1是空值,则该函数返回表达式exp2的值, 假设表达式exp1没有是空值,则该函数返回表达式exp1的值. 2.nvl2( ...

  8. 【Oracle】Oracle中dump函数的用法

    一.函数标准格式: DUMP(expr[,return_fmt[,start_position][,length]]) 基本参数时4个,最少可以填的参数是0个.当完全没有参数时,直接返回null.另外 ...

  9. [转载]Oracle中TO_NUMBER()函数的用法

    1 用法简介TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反. To_number函数的格式如下: To_nu ...

随机推荐

  1. Java编程的逻辑 (88) - 正则表达式 (上)

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  2. hdoj:2071

    Max Num Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  3. 简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题

    https://blog.csdn.net/RicardoDing/article/details/79899686 近期,在使用spring和mybatis框架编写代码时,sqlSession不需要 ...

  4. js 可拖动div 调整大小

    dragBorder: function (parent, right, bottom, bottomRight) { var isDownRight = false; var isDownBotto ...

  5. halcon之NCC匹配

    NCC匹配 基于Normalized cross correlation(NCC)用来比较两幅图像的相似程度已经是一个常见的图像处理手段.在工业生产环节检测.监控领域对对象检测与识别均有应用.NCC算 ...

  6. python学习小记

    python HTTP请求示例: # coding=utf-8 # more materials: http://docs.python-requests.org/zh_CN/latest/user/ ...

  7. 【FM】算法

    https://www.cnblogs.com/AndyJee/p/7879765.html

  8. [hive] hive 内部表和外部表

    1.内部表 hive (test1)> create table com_inner_person(id int,name string,age int,ctime timestamp) row ...

  9. C#实现复杂XML的序列化与反序列化

    已知.xml(再此命名default.xml)文件,请将其反序列化到一个实例对象. Default.XML文件如下: <?xml version="1.0" encoding ...

  10. Dubbo 分布式 日志 追踪

    使用dubbo分布式框架进行微服务的开发,一个大系统往往会被拆分成很多不同的子系统,并且子系统还会部署多台机器,当其中一个系统出问题了,查看日志十分麻烦. 所以需要一个固定的流程ID和机器ip地址等来 ...