Oracle 查询null值记录的问题

 

查询employees中 commission 小于0.2的人,

 

select * from employees where commission_pct <0.2;

 

此查询条件有误, 无法查询出commission为null值的记录。

 

null只能通过is null或者is not null来判断,其它操作符与null操作都是false

 

修改查询条件:

1)select * from employees where commission_pct <0.2 or commission_pct is null;

 

 

2)select * from employees where NVL(commission_pct,0)<0.2;

 

NVL(expr1,expr2)

expr1:可为空的字段或者表达式。

expr2:null的替代值。

 

3)select * from employees where LNNVL(commission_pct>=0.2);

 

lnnvl用于某个语句的where子句中的条件,如果条件为true就返回false;如果条件为UNKNOWN或者false就返回true。该函数不能用于复合条件如AND, OR, or BETWEEN中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值