lnnvl用于某个语句的where子句中的条件,如果条件为真就返回真,否则为假。
其含义可理解为LNNVL == IS NULL OR IS NOT TRUE
这样我们在下面的试验中使用的大于小于符号将会是返的,还要注意这个问题。
它的优势是可以处理简单条件判断无法实现的null条件
比如要查询一个学校的登记表中检索其毕业年份早于2010年的,并且包含那些还未填写年份而未null的记录。
create table testaaa(name varchar2(10),year number);
insert into testaaaa values('huangkp',2008);
insert into testaaaa values('wujw',2012 );
insert into testaaaa values('zhangle',null);
insert into testaaaa values('mxy',2007);
然后我们执行下面的代码
select * from testaaaa where lnnvl(year<2010) 意思就是找出year不小于2010的人员,返回的结果包括空值的。
结果为:
1 wujw 2012
2 zhangle
select * from testaaaa where lnnvl(year>2010) 意思就是找出year不大于2010的人员,返回的结果包括空值的。
结果为:
1 huangkp 2008
2 zhangle
3 mxy 2007
空值依然存在
select * from testaaaa where year>2010 找出year大于2010的人员,这个结果中就不包括空值了。
结果为
1 wujw 2012
平台函数:
curDate () 取当前日期(含时间)对象
today(format) 取当前日期表达式,format:可选参数,日期格式化串,默认值为yyyy-MM-dd。
如:today(),返回2006-10-28。
today(“yyyy年MM月dd日”),返回2006年10月28日。