梧桐数据库-替换oracle中nulls last用法分享

一、说明

在制作报表的过程中,经常会遇到排序的问题,但是 null 值会被默认为字符串,在排序的时候,会排序到第一位,影响我们的可视化报表的查看。在 oracle 中使用 nulls last 可以将 null 值放在最后,下面提供几种梧桐数据库V5.x中的解决方案。

二、解决方案

实际情况:直接 order by ,null 值排在第一位

select*fromtest_descorderbyfeedesc;



使用 nulls last 语法报错,梧桐数据库V5.x不支持该语法

select*fromtest_descorderbyfeedescnullslast;


方案一:使用 case when 替换 order by 内部的内容

select*fromtest_descorderbycasewhenfeeisnullthen0elsefeeenddesc;


方案二:使用 coalesce 函数

select*fromtest_descorderbycoalesce(fee,0)desc;


注:COALESCE 函数在 SQL 中用于从其参数列表中返回第一个非 NULL 值。如果所有参数都是 NULL,它将返回 NULL。这个函数非常有用,尤其是在你想用一个默认值替换字段中的 NULL 值时。

另:梧桐数据库V6.x已经支持nulls last语法。

特别的:如果比较排序的是字符类型,而非纯数值类型进行比较,可以将0变更为’0’,这样不论是字符类型还是数值类型,都会按照正确的顺序排序。根据ASCII字符集显示,NULL为000,09为048057,Az为065122。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Oracle数据库体系结构 系统 实例 表空间 数据表 数据文件 用户 用户的分类: 系统管理员 sys 相当...
    小猿人儿阅读 4,059评论 0 0
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    A建飞_dedf阅读 3,865评论 0 0
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 5,840评论 0 2
  • Oracle数据库简介 Oracle数据库安装 Oracle数据库基本操作 (select from where...
    wulegekong阅读 4,662评论 0 3
  • 主流关系型数据库 关系型数据库存储数据的特点 结构化查询语言: 数据类型: select * from emp; ...
    陈先森mansplain阅读 4,030评论 0 0