Oracle sql以某个汉字的字段的汉语拼音作为排序,java代码排序不能按要求显示序列号

问题一:

order by nlssort(d.rname,'NLS_SORT=SCHINESE_PINYIN_M')

在以汉字首字母拼音作为排序,只是用order by,我试了一下是不可以的,网上查了一下 ,这种排序OK。

问题二:

同时还有一个问题,在显示列表的时候,同时显示序列号,但是在排序的时候,再输出序列号rownum,就会出现序列号错乱的问题,因为我们使用java代码排序的,用循环的变量值当做长度,只能每页都是显示相同的序号!12345.;一时没转过弯,问了同事,解决了,方案如下:

1.先把查询结果A先排序,

2.然后再把查询结果A的SQL(select 8* from 表名1)作为一个表查出来;

3.select rownum from (select 8* from 表名1 order by nlssort(d.rname,'NLS_SORT=SCHINESE_PINYIN_M'))

猜你喜欢

转载自blog.csdn.net/xiachaoyang/article/details/79132485
今日推荐