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

正规官方授权
更专业・更权威

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

一、说明

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

二、解决方案

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

select * from test_desc order by fee desc;

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

select * from test_desc order by fee desc nulls last;

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

select * from test_desc order by case when fee is null then 0 else fee end desc;

方案二:使用 coalesce 函数

select * from test_desc order by coalesce(fee,0) desc;

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

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

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

想了解更多干货,可通过下方扫码关注

详情咨询

可扫码添加上智启元官方客服微信👇

未经允许不得转载:17认证网 » 梧桐数据库-替换oracle中nulls last用法分享
分享到:0

评论已关闭。

400-663-6632
咨询老师
咨询老师
咨询老师