oracle数据库中多个null值存在时怎样排序

oracle数据库中多个null值存在时怎样排序,第1张

排序要看用什么字段排序,可以单个字段,也可以多个字段,这些与存在值是否为null无关。

如下列数据

id

name

class

1

a

1

2

b

null

3

c

null

现在要按id和class排序,其中id为主要排序字段,class为次要排序字段

可写如下语句

select * from 表名 order by id,class

    在公司开发时使用order by *** asc 进行排序时(***字段为int类型,主要做一个按照数值越小排名越前得功能),出现了所有***列为NULL值的记录都排在前面的情况。

解决办法:在排序字段名前加上-,然后改为降序排序,这样子有数值的记录的排序还是跟原来一样(负负得正),并且这把***列值为NULL的记录都排在后面了

空列值,order by 语句是可以排序到最后的,你说的是null值吧。这个只能这样:

select *,case when NAME is null or LEN(NAME)=0 ' ' else NAME end as NAME2 from TABLE order by NAME2 desc


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10803818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存