avg

avg函数.
统计a列的平均值时候.忽略a值为null的记录
insert into test(a,b) values (5,1)
insert into test(a,b) values (5,null)
insert into test(a,b) values (5,0)
insert into test(a,b) values (5,3)

select avg(t.b) from test t             // 是1.333    =4/3

select avg(nvl(t.b,0)) from test t      //是1   =4/4    不忽略列为null的记录   //nvl在 mysql是ISNULL(AGE,0)

select avg(nullif(t.b,'0')) from test t //是2   不统计为'0'的.  把0的当null来统计

select count(t.b) from test t            //是忽略b为null的记录的  .要取总记录数的话不能用count可能为null的列


not in也与null有关

 

oracle中:
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值