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

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

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

NVL函数的介绍

  1. 函数格式:NVL(expr1,expr2)

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

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

NVL2函数的介绍

  1. 函数格式:NVL(expr1,expr2)

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

NULLIF函数的介绍

  1. 函数格式:NULLIF(exp1,expr2)

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

Coalesce函数

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

    介绍:表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。返回表达式中第一个非空表达式,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值