【Oralce】数字空值排序问题

本文讨论了在Oracle中如何处理空值倒序排序的问题,以及数字字符串转换时如何确保正确按数值而非字符排序。特别提到使用`nullslast`避免空值提前,以及`to_number`函数处理字符串转数字的注意事项。
摘要由CSDN通过智能技术生成

问题:

如果oracle出现空值,进行倒叙排序的话,会把空值默认放到第一位

如果我对数字进行倒叙排序,那么如果是空值的话,oracle就把它弄到了第一位了,如果要解决就需要加上 nulls last 让空值排到最后

1、此外还有如果是字符串的话,要转成数字排序需要这样写

select * from table m order by to_number(m.capital_ratio)

2、如果数字进行了转换问题

如果这样的话 capital_ratio 就会当成字符串处理,就按照字符串的排序处理,而不是数字大小处理

select 
    to_char(capital_ratio) capital_ratio 
from table 
order by capital_ratio

这个地方需要用别名处理,比如给 table 加个 m

select 
    to_char(m.capital_ratio) capital_ratio 
from table m 
order by to_number(m.capital_ratio)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值