一、基本语法

介绍一下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 返回参数

Oracle应用之nvl函数和nvl2函数相关推荐

  1. Oracle数据库:oracle函数嵌套,nvl函数,nvl2函数,nullif函数,coalesce合并函数

    Oracle数据库:oracle函数嵌套,nvl函数,nvl2函数,nullif函数,coalesce合并函数 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

  2. Oracle的 nvl 函数及 nvl2 函数的应用

    一.基本语法: nvl 函数: nvl 函数的基本语法为 nvl(E1, E2),如果E1为 NULL,则函数返回E2,否则返回E1本身.但此函数有一定局限,所以就有了nvl2函数.如果两个参数的值都 ...

  3. mysql nvl2 函数_Oracle的nvl函数和nvl2函数详解

    一.基本语法 介绍一下oracle的nvl函数和nvl2函数. nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1. nvl2函数 nvl2函 ...

  4. nvl2可以套公式吗 oracle_Oracle的nvl函数和nvl2函数

    一.基本语法 介绍一下oracle的nvl函数和nvl2函数. nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1. nvl2函数 nvl2函 ...

  5. nvl()函数和 nvl2()函数

    – nvl()函数和 nvl2()函数 /* NVL(exp1,exp2)函数的作用机制 : 如果 exp1 为空 , 函数 返回 exp2 的值 ; 如果 exp1 不为空, 函数 返回 exp1 ...

  6. Oracle中的NVL函数、NVL2函数和NULLIF函数

    一.NVL函数的格式如下: NVL(expr1,expr2),含义是:如果Oracle中第一个参数的值为空,那么显示第二个参数的值,如果第一个参数不为空,则显示第一个参数的值. 二.NVL2函数的格式 ...

  7. ORACLE里NVL函数与NVL2函数用法

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

  8. lightdb对oracle的nvl/nvl2函数的支持

    一,oracle下的函数说明(详见链接) a) nvl函数 b) nvl2函数 c) 隐式转换表 二,nvl/nvl2函数返回类型 通过上述官方文档,我们发现nvl/nvl2函数的返回值分别是以参数1 ...

  9. NVL、NVL2函数

    NVL函数是一个空值转换函数.用于把一个空值(NULL)转换成某一个实际的值. 格式如下: NVL(表达式1,表达式2) 如果表达式1为空值(NULL),NVL返回值为表达式2的值,否则返回表达式1的 ...

最新文章

  1. win环境下,django+postgresql配置
  2. 【Python】随机划分数据集并生成VOC格式列表
  3. 工单系统的设计与实现(3)
  4. linux - python
  5. http multipart java_Http MultiPart请求
  6. postman插件下载、安装教程
  7. java中unicode显示乱码_Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示?...
  8. Linux常用脚本命令总结
  9. C#生成CHM文件(入门篇)
  10. mysql alter auto increment_将MySQL列更改为AUTO_INCREMENT
  11. 记录点滴,善于分享-Microsoft Visio 2016下载与安装教程(全)
  12. xposed android id修改,Xposed模块开发:修改设备IMEI
  13. 应用市场显示服务器错误的是,win10应用商店打不开服务器出错怎么办
  14. uml的用例图中扩展关系与包含关系
  15. DELPHI线程创建与使用
  16. JavaScript中onload()用法
  17. 激流勇进,在创新中求发展
  18. 吴俊雄的经历,腰椎间盘突出终于好了
  19. python分布采样_基于分布的python随机抽样
  20. Flash与Flex3的配合,特总结一下心得体会

热门文章

  1. windows + codeblocks + wxWidgets 连接MySQL数据库
  2. 迷途的测试老鸟如何振翅高飞
  3. Python中的__init__()方法整理中(两种解释)
  4. 利用文件链接更好地使用网络云盘
  5. request中URL路径获取
  6. 一起撸个朋友圈吧(step2) 数据结构(JSON结构)【下】篇
  7. CAP与一致性协议算法
  8. python爬虫实例电商_如何用代码爬抓电商数据(附淘宝API调用实例)
  9. chaosblade之磁盘iohang
  10. 使用JLINK给GD32下载程序