Oracle-SQL-排序操作

1、普通排序
     

select * from emp  order by empno   asc(desc);

 
2、根据多字段排序
     

select * from emp order by ename,job  asc(desc);

 
3、按子串排序     

   

select * from emp order by substr(ename,length(ename)-2)      
通过substr函数实现子串的截取,然后进行排序

 
4、对于字母、数字混合的数据进行排序
       通过translate或者replace替换掉数字或字符部分,然后排序
       translate(string,from,to) 

                   字符级别的替换;
                   如果to的长度小于from则在from中存在,在to中不存在的将被直接删掉;
       replace(string,from ,to)  

                   字符串级别的替换
5、排序时的空值处理
      a、使用case when对空值进行替换,例如空值替换为0,非空值替换为1,然后可以参与排序
      b、oracle9i以后的版本提供了 nulls first  和nulls  last操作。
6、根据数据项的键排序
      采用类似占位符的方式来实现排序

select empno,ename,job,case when job='SALESMAN' then comm else sal end from emp order by 4;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值