criteria.addOrder(Order.desc("userName")); userName字段包含中英文,如果我想中文按照拼音首字母、英文按首字母排序,请问代码要怎么写??在线等只含英文是可以的 ,但是现在包含中文, order by 排序就不是按拼音首字母和英文排序了,而是乱续,当然“张三”和“张四”是排在一起的,但是“张三”按照首字母Z不是排在最后面。而且我现在用的是hibernate 的QBC查询模式,不是HQL查询,请教用QBC排序的话应该要怎么写
mysql里面有一个CONVERT()函数 select * from mytable order by CONVERT(chineseColumnName USING gbk); 只是hibernate不支持,不知道能不能通过JDBC来执行
在oracle 中 有nlssort(); order by nlssort(chineseColumnName,'NLS_SORT=SCHINESE_PINYIN_M') 试试行不行
我记得默认就是按照首字母排列的
userName字段包含中英文,如果我想中文按照拼音首字母、英文按首字母排序,请问代码要怎么写??在线等只含英文是可以的 ,但是现在包含中文, order by 排序就不是按拼音首字母和英文排序了,而是乱续,当然“张三”和“张四”是排在一起的,但是“张三”按照首字母Z不是排在最后面。而且我现在用的是hibernate 的QBC查询模式,不是HQL查询,请教用QBC排序的话应该要怎么写
select * from mytable order by CONVERT(chineseColumnName USING gbk);
只是hibernate不支持,不知道能不能通过JDBC来执行
order by nlssort(chineseColumnName,'NLS_SORT=SCHINESE_PINYIN_M')
试试行不行