今天在无意中看到lnnvl这个函数,分享一下
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的值是比较方便的。