NVL函数,NVL2函数的使用,查询日期天数

NVL函数

作用:判断某个值是否为空值,若不为空值则输出,若为空值,返回指定值。

详细解释如下:

1、nvl()函数的格式如下:

NVL(expr1,expr2);

2、含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

3、例:

select name,NVL(name,-1) from user;

运行后,结果返回两列数值,若name为空,则返回-1,若name不为空值,则返回其自身。

注意:使用nvl函数的前提是查询到的结果不为空,就是说查询语句本身不能返回null,只有查询记录存在的情况下nvl函数才会对记录中的字段赋值,如果没有记录赋值则为空谈了!

NVL2函数

1、NVL2函数的格式如下:

NVL2(expr1,expr2, expr3)

2、含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值
3、实例如下:

NVL2(DO_GODATE,NVL2(DO_OUTDATE,ROUND(TO_NUMBER(DO_OUTDATE - DO_GODATE)),ROUND(TO_NUMBER(SYSDATE - DO_GODATE))),0) DO_DAYS,

运行后,如果进场时间为空,则天数为0;如果进场时间不为空则判断出场时间是否为空,进不为空出为空,则天数为当前时间-进场时间;进不为空出不为空,则天数为出时间-进时间

查询日期天数

ROUND(TO_NUMBER(DO_OUTDATE - DO_GODATE)
ROUND(TO_NUMBER(SYSDATE - DO_GODATE))--得到当前时间-进场时间

你可能感兴趣的:(oracle,sql,数据库)