`

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;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics