300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > oracle nvl2函数延伸 Oracle的nvl函数和nvl2函数

oracle nvl2函数延伸 Oracle的nvl函数和nvl2函数

时间:2022-09-23 11:39:36

相关推荐

oracle 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不熟悉的可以参考我的另外一篇博客:/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函数

标签:rac转行code查询类型校验httpstps一个

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:/mzq123/p/10117138.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。