当前位置:首页 > 数据库 > Oracle

ORACLE中NVL、NVL2函数的用法

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为空的字段。

原文:https://www.cnblogs.com/whx20100101/p/10423458.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐