oracle数据库解决查询值为null的情况

lnnvl用于某个语句的where子句中的条件,如果条件为真就返回真,否则为假。

其含义可理解为LNNVL == IS NULL OR IS NOT TRUE

它的优势在于处理简单条件判断无法实现的null条件,用举例说明

SQL> select * from plch_employees;

 EMPLOYEE_ID LAST_NAME           SALARY              COMMISSION_PCT

--------------------------------------- -------------------------------------------------------------------------------- ---------- --------------

           300      O'Keefe                1000000 

           100      Picasso                 1000000             0.3

            200    Mondrian               1000000            0.15

 

如果要查询commision)不大于20%, 或者为NULL的员工的姓名,则可以用下面

SQL> SELECT last_name FROM plch_employees e WHERE LNNVL (e.commission_pct > .2);

 

LAST_NAME

--------------------------------------------------------------------------------

O'Keefe

Mondrian

查出小于commision0.2和为null的值,这种方法可以查询出null的值是比较方便的。

你可能感兴趣的:(oracle)