您的位置:首页 > 数据库 > Oracle

Oracle开发中遇到的非空问题小结

2017-03-21 11:58 190 查看

Oracle开发中遇到的非空问题小结

今日在使用oracle开发过程中遇到的一个小的问题,由于之前开发人员代码中的疏忽,在记录日志的时候,因为我们是调不同的运营商的接口,不同的运营商回调我们系统的接口,貌似不同运营商回调的接口是不同开发人员开发的,导致有一个记录字段有的存储了,有的没有存储,昨天在做报表的时候,要过滤掉某个运营商的信息,还好那个运营商的信息存储了,信息存储的变量值为0,所以我就使用oracle的判断条件某某字段不等于0,但是在发现结果的时候,数据量少的可怜,后来百度了一下,才发现oracle中如果字段为空的话的,数据库自动会帮你转换为0,所以那些没有存储上的字段在查询的时候都被数据库自动转换为0了,后来使用了oracle的一个函数解决了以上问题。

NVL
函数的介绍

函数格式:
NVL(expr1,expr2)


介绍:如果第一个参数为空,那么则显示第二个参数的值,如果第一个参数不为空,则显示第一个参数本来的值。

另外在找到
NVL
函数的时候发现了他的延伸函数

NVL2
函数的介绍

函数格式:
NVL(expr1,expr2)


介绍:如果第一个参数为空,那么则显示第二个参数的值,如果第一个参数不为空,则显示第三个参数的值。

NULLIF
函数的介绍

函数格式:
NULLIF(exp1,expr2)


介绍:如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

Coalesce
函数

函数格式:Coalesce(expr1, expr2, expr3….. exprn)

介绍:表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。返回表达式中第一个非空表达式,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 报表