一、基本语法

介绍一下oracle的nvl函数和nvl2函数。

nvl函数

nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1。

nvl2函数

nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不为null就返回E2。

二、业务场景

nvl()函数比较常用的是这样的nvl(E1,0),意思是E1参数查询到为null的情况,就返回0,不为null就返回E1,常用于非空校验。

nvl2()函数也讲一个业务场景。今天用列转行函数vm_concat查询的时候,遇到一个问题,对vm_concat不熟悉的可以参考我的另外一篇博客:https://blog.csdn.net/u014427391/article/details/84981114

我用vm_concat查询,假如b参数为空的情况就会出现“a()”的参数,我想做的是b参数为空的情况,直接返回“a”参数,b参数不为空的情况才返回“a(b)”类型的数据,比如可以是用户名a(账号b)这样显示。原来SQL是这样的。

select to_char(nvl2(b,vm_concat(a||'('||b||')'), '') from A group by id

改写SQL,通过nvl2函数实现改写:

select to_char(wm_concat(nvl2(b,

a || '(' || b || ')',

a))) as 返回参数

mysql nvl2 函数_Oracle的nvl函数和nvl2函数详解相关推荐

  1. C++友元函数和友元类(C++ friend)详解

    在看VISP视觉库的时候遇到友元函数: Friends void swap (vpDetectorAprilTag &o1, vpDetectorAprilTag &o2) 在定义一个 ...

  2. php判断参数_php检查函数必传参数是否存在的实例详解

    php检查函数必传参数是否存在的实例详解 在php实际编程中,接口经常会接收到前端传来的参数,其中有些参数不是必传的,有些参数是必传的,如何"检查函数必传参数是否存在"呢?为了解决 ...

  3. php根据元素返回可以,array_search()函数按元素值返回键名步骤详解

    这次给大家带来array_search()函数按元素值返回键名步骤详解,array_search()函数按元素值返回键名的注意事项有哪些,下面就是实战案例,一起来看一下. array_search() ...

  4. mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  5. python中函数可以赋值给一个变量_python中函数赋值给变量时的问题注意详解

    变量赋值是我们在日常开发中经常会遇到的一个问题,下面这篇文章主要给大家介绍了关于python中将函数赋值给变量时需要注意的一些问题,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的 ...

  6. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  7. c语言sort函数_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include 2. ...

  8. python 函数参数self_Python类中self参数用法详解

    Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了. 首先明确的是s ...

  9. 分段二次插值函数表达式_【插值】插值方法原理详解

    插值问题详解 1. 我在具体的应用(如数学建模竞赛)中,常常需要根据已知的函数点进行数据.模型的处理和分析,而通常情况下现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,&quo ...

最新文章

  1. 人才招聘丨 清华大学精准医学研究院招聘启事
  2. C# 篇基础知识3——面向对象编程
  3. python导入pandas具体步骤方法_python导入pandas具体步骤方法-
  4. java代码上传exel,excle上传服务器并解析!求excel上传到服务器的java代码
  5. Spring Security:基于内存的角色授权
  6. 先滑窗后时空联合处理MATLAB,时空联合优化重建方法及系统与流程
  7. php function函数用法,js的function函数是什么?js中function的用法
  8. C++ 一篇文章让你知道智能指针的魅力
  9. Spark中如何管理Spark Streaming消费Kafka的偏移量
  10. Configure VNC in RHEL 7
  11. 在惠普BL460C G1上安装System Management Homepage(CentO...
  12. 小米路由器r3d 安装vsftp 记事
  13. 电子元件-电感、磁珠
  14. HTML+js实现贪吃蛇小游戏(内含完整代码)
  15. react-native电影简介app,了解一下?(android端)
  16. Fractal Streets
  17. 每日一题 2019/4/8
  18. Arduino 使用 旋转编码器
  19. 什么是stub文件_stub code
  20. IDEA注释模板设置【非常实用】

热门文章

  1. 资源分享 | 字体 | 电脑字体素材
  2. 一场思维导图的盛宴_李晓瑞_廊坊师范提高班十五期_新浪博客
  3. Java int 和 Integer 互转原理
  4. 逗牙笑话网网址http://www.idouya.xin收藏
  5. 小白文章:构建VMware虚拟局域网的实验过程
  6. iframe滚动条设置
  7. fmod()函数、floor()函数、ceil()函数
  8. 自媒体多平台分发,如何多赚钱,这次给你讲明白,收藏备用
  9. Mybatis一对多分页查询问题
  10. 中兴通讯服务器r5400,至强5400系列处理器