orcle排序

来源:互联网 发布:js中new date 的参数 编辑:程序博客网 时间:2024/04/30 02:33

一、DECODE 不规则排序  ----主要作用:将查询结果翻译成其他值

1.数据库存序号,按中文拼音排序

public static enum type{
币别/*0*/,进出口口岸 /*1*/,目的港/*2*/,运输方式/*3*/,运输工具,
国别地区/*5*/,贸易方式,收汇方式,费用类别,验收方式,
成交方式/*10*/,险别,银行交单类型,经营单位,单位编码,
境内货源地/*15*/
}

2.按拼音排序

ArrayList<String> nameList = new ArrayList<String>();nameList.add("币别");nameList.add("进出口口岸");nameList.add("目的港");nameList.add("运输方式");//........Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);//括号里面可有可无Collections.sort(nameList, cmp);System.out.println(nameList.toString());}

3. SQL : select * from XXX order byDECODE(type,'0','01','10','02','14','03','8','04','5','05','1','06','13','07','15','08','6','09','2','10','7','11','11','12','9','13','12','14','3','15','4','16') ;


二、大写英文和数字混合,按英文在前,数字在后

 order by translate(xxx,'0123456789','abcdefghij')    // (排序字段,字段值,替换值)

orcle 直接order by是按照(先数字,然后英文(应该是按照ascll码排的)),数字在大写字母前面,我们把数字0123456789替换成对应小写字母abcdefghi,小写字母的ascll码在大写字母后面。

0 0
原创粉丝点击