日期:2014-05-16 浏览次数:20666 次
//-- 按拼音排序 (系统默认) select * from T_0303003 order by nlssort(stock_holder,'NLS_SORT=SCHINESE_PINYIN_M'); /** 微软用户1]: 批注 [微软用户 nlssort()这个是 微软用户 函数,stock_holder 是字段名 重要的一点:这个是 SQL 语句, 如果是在 Hibernate 中写 HQL 语句。 这个函数 Hibernate 中也能支持。 。 */ //-- 按部首排序 select * from T_0303003 order by nlssort(stock_holder,'NLS_SORT=SCHINESE_RADICAL_M'); //-- 按笔画排序 select * from T_0303003 order by nlssort(stock_holder,'NLS_SORT=SCHINESE_STROKE_M');
select name from test1order by convert(name using gb2312) desc; // 如果使用了 MySQL 数据库而又需要中文排序,则先把数据取出来再程序中排序. // 如: 先定义: Comparator demo = new Comparator(){ public int compare(Object arg0, Object arg1) { return Collator.getInstance(Locale.CHINESE).compare(arg0, arg1); } }; Collections.sort(list,demo); /** 微软用户2]: 批注 [微软用户 数据库编码必须 微软用户 是 GBK 微软用户3]: 批注 [微软用户 Convert 是 MySQL 微软用户 数据库的方法,name 是字段名 但是 Hibernate 不支持此方法… 微软用户4]: 批注 [微软用户 获得需要比较的 微软用户 语种 微软用户5]: 批注 [微软用户 Compare 方法比较 微软用户 出来的结果:大于 0、等于 0、小于 0 微软用户6]: 批注 [微软用户 此方法后你需要 微软用户 排序的 list 容器就按照上文的内部匿 名函数规则排序: list 就是需要中文排序的容器,demo 就是上文定义的内部函数(java 自带 的) ,list 中只能是字符或是字符串、 数字,不能是对象,对象容器需要转 换(有待研究).. */
select * from collate dbo.tbl_aqjg_hidden_info t order by t.info_type3; /** Chinese_PRC_CS_AS_KS_WS collate 是关键字,Chinese_PRC_CS_AS_KS_WS是排序规则: 摘抄于网页中) 是关键字, 是排序规则: (摘抄 是排序规则 (摘抄于网页中)前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。 排序规则的后半部份即后缀 含义: _BIN 二进制排序 _CI(CS) 是否区分大小写,CI不区分,CS区分 _AI(AS) 是否区分重音,AI不区分,AS区分 _KI(KS) 是否区分假名类型,KI不区分,KS区分 _WI(WS) 是否区分宽度 WI不区分,WS区分 区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。 区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项, 比较还将重音不同的字母视为不等。 区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。 区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。 */