Oracle 中对null值的处理,排序时使用nulls first或nulls last

Oracle中null值的处理

  1. null值不参与运算,与任何数加减乘除都是null

  2. 判断的时候需要显示的声明,is null or is not null,当需要查询哪些行不存在某个特定的值时一定要考虑到存在null的情况,一定要显式声明,即 or is null,否则这空值null的记录不会包括在结果集中.

  3. 全集查询时使用:
    count(1)、count(*)则会包含null
    使用某个具体的字段就不会包含null,count(列)、count(distinct 列)不包含null

  4. 排序order by 后面使用nulls first 或nulls last
    Nulls first和nulls last是Oracle Order by支持的语法
    如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
    如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
    null默认值是最大值。

//null值将排在最前面,如果不用nulls first,null就会被排在最前面,因为默认是最大值
select * from t_table t order by t.id desc nulls first;
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值