mysql nvl2 函数_Oracle的nvl函数和nvl2函数详解
一、基本语法
介绍一下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函数详解相关推荐
- C++友元函数和友元类(C++ friend)详解
在看VISP视觉库的时候遇到友元函数: Friends void swap (vpDetectorAprilTag &o1, vpDetectorAprilTag &o2) 在定义一个 ...
- php判断参数_php检查函数必传参数是否存在的实例详解
php检查函数必传参数是否存在的实例详解 在php实际编程中,接口经常会接收到前端传来的参数,其中有些参数不是必传的,有些参数是必传的,如何"检查函数必传参数是否存在"呢?为了解决 ...
- php根据元素返回可以,array_search()函数按元素值返回键名步骤详解
这次给大家带来array_search()函数按元素值返回键名步骤详解,array_search()函数按元素值返回键名的注意事项有哪些,下面就是实战案例,一起来看一下. array_search() ...
- mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...
MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...
- python中函数可以赋值给一个变量_python中函数赋值给变量时的问题注意详解
变量赋值是我们在日常开发中经常会遇到的一个问题,下面这篇文章主要给大家介绍了关于python中将函数赋值给变量时需要注意的一些问题,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的 ...
- python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- c语言sort函数_C语言经典面试题目及答案详解(二)
接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include 2. ...
- python 函数参数self_Python类中self参数用法详解
Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了. 首先明确的是s ...
- 分段二次插值函数表达式_【插值】插值方法原理详解
插值问题详解 1. 我在具体的应用(如数学建模竞赛)中,常常需要根据已知的函数点进行数据.模型的处理和分析,而通常情况下现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,&quo ...
最新文章
- 人才招聘丨 清华大学精准医学研究院招聘启事
- C# 篇基础知识3——面向对象编程
- python导入pandas具体步骤方法_python导入pandas具体步骤方法-
- java代码上传exel,excle上传服务器并解析!求excel上传到服务器的java代码
- Spring Security:基于内存的角色授权
- 先滑窗后时空联合处理MATLAB,时空联合优化重建方法及系统与流程
- php function函数用法,js的function函数是什么?js中function的用法
- C++ 一篇文章让你知道智能指针的魅力
- Spark中如何管理Spark Streaming消费Kafka的偏移量
- Configure VNC in RHEL 7
- 在惠普BL460C G1上安装System Management Homepage(CentO...
- 小米路由器r3d 安装vsftp 记事
- 电子元件-电感、磁珠
- HTML+js实现贪吃蛇小游戏(内含完整代码)
- react-native电影简介app,了解一下?(android端)
- Fractal Streets
- 每日一题 2019/4/8
- Arduino 使用 旋转编码器
- 什么是stub文件_stub code
- IDEA注释模板设置【非常实用】
热门文章
- 资源分享 | 字体 | 电脑字体素材
- 一场思维导图的盛宴_李晓瑞_廊坊师范提高班十五期_新浪博客
- Java int 和 Integer 互转原理
- 逗牙笑话网网址http://www.idouya.xin收藏
- 小白文章:构建VMware虚拟局域网的实验过程
- iframe滚动条设置
- fmod()函数、floor()函数、ceil()函数
- 自媒体多平台分发,如何多赚钱,这次给你讲明白,收藏备用
- Mybatis一对多分页查询问题
- 中兴通讯服务器r5400,至强5400系列处理器