如何根据汉字的一二三四五排序

ahking 2014-03-27 04:13:31
字段mc内容为
中国一区
中国二区
中国三区
中国四区
中国五区

排序结果为

中国二区
中国三区
中国四区
中国五区
中国一区

如何按照一二三四五排序呢?
...全文
3913 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahking 2014-04-04
  • 打赏
  • 举报
回复
引用 8 楼 forgetsam 的回复:
order by translate(mc,'一二三四五','12345')
如果超过十了,这样写不知是否可靠 order by translate(mc,'一二三四五六七八九十','123456789a')
ahking 2014-04-03
  • 打赏
  • 举报
回复
up!!!!!!!!!!!!!!!!!!!!!!!!!
ahking 2014-04-02
  • 打赏
  • 举报
回复
中国一区1小区 中国一区2小区 中国一区3小区 中国一区4小区 中国一区5小区 中国一区10小区 中国二区1小区 中国三区........ 中国四区........ 中国五区........ ........... 替换成 101 102 110 ...... ...... 该如何做呢
forgetsam 2014-03-28
  • 打赏
  • 举报
回复
order by translate(mc,'一二三四五','12345')
sych888 2014-03-28
  • 打赏
  • 举报
回复
像这种情况,一般都是有对应的字典表
CT_LXL 2014-03-28
  • 打赏
  • 举报
回复
引用 4 楼 hidanger521 的回复:
[quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 ahking 的回复:] 字段mc内容为 中国一区 中国二区 中国三区 中国四区 中国五区 排序结果为 中国二区 中国三区 中国四区 中国五区 中国一区 如何按照一二三四五排序呢?
中文只支持按拼音,笔划,部首排序,默认为拼音。 如果想按照中文一二三四,可以先将数字提出来用decode进行处理然后再排序,如果中文数字很多就很难处理了。 比如, decode(‘一’,'1','二','2')[/quote] 正解,自定义顺序吧,order by decode(mc,'中国一区',1,'中国二区',2,'中国三区' ,3,'中国四区',4,'中国五区' 5)[/quote] 哥儿们昨天很忙?
ahking 2014-03-28
  • 打赏
  • 举报
回复
就是不知道速度影响大不大
流浪川 2014-03-28
  • 打赏
  • 举报
回复
引用 10 楼 zlloct 的回复:
[quote=引用 9 楼 hidanger521 的回复:] [quote=引用 6 楼 zlloct 的回复:] [quote=引用 4 楼 hidanger521 的回复:] [quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 ahking 的回复:] 字段mc内容为 中国一区 中国二区 中国三区 中国四区 中国五区 排序结果为 中国二区 中国三区 中国四区 中国五区 中国一区 如何按照一二三四五排序呢?
中文只支持按拼音,笔划,部首排序,默认为拼音。 如果想按照中文一二三四,可以先将数字提出来用decode进行处理然后再排序,如果中文数字很多就很难处理了。 比如, decode(‘一’,'1','二','2')[/quote] 正解,自定义顺序吧,order by decode(mc,'中国一区',1,'中国二区',2,'中国三区' ,3,'中国四区',4,'中国五区' 5)[/quote] 哥儿们昨天很忙?[/quote] 呵呵,怎么这么问呢。。。[/quote] 昨天不够活跃[/quote] 培训、开会。。么有空了啊。。
CT_LXL 2014-03-28
  • 打赏
  • 举报
回复
引用 9 楼 hidanger521 的回复:
[quote=引用 6 楼 zlloct 的回复:] [quote=引用 4 楼 hidanger521 的回复:] [quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 ahking 的回复:] 字段mc内容为 中国一区 中国二区 中国三区 中国四区 中国五区 排序结果为 中国二区 中国三区 中国四区 中国五区 中国一区 如何按照一二三四五排序呢?
中文只支持按拼音,笔划,部首排序,默认为拼音。 如果想按照中文一二三四,可以先将数字提出来用decode进行处理然后再排序,如果中文数字很多就很难处理了。 比如, decode(‘一’,'1','二','2')[/quote] 正解,自定义顺序吧,order by decode(mc,'中国一区',1,'中国二区',2,'中国三区' ,3,'中国四区',4,'中国五区' 5)[/quote] 哥儿们昨天很忙?[/quote] 呵呵,怎么这么问呢。。。[/quote] 昨天不够活跃
流浪川 2014-03-28
  • 打赏
  • 举报
回复
引用 6 楼 zlloct 的回复:
[quote=引用 4 楼 hidanger521 的回复:] [quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 ahking 的回复:] 字段mc内容为 中国一区 中国二区 中国三区 中国四区 中国五区 排序结果为 中国二区 中国三区 中国四区 中国五区 中国一区 如何按照一二三四五排序呢?
中文只支持按拼音,笔划,部首排序,默认为拼音。 如果想按照中文一二三四,可以先将数字提出来用decode进行处理然后再排序,如果中文数字很多就很难处理了。 比如, decode(‘一’,'1','二','2')[/quote] 正解,自定义顺序吧,order by decode(mc,'中国一区',1,'中国二区',2,'中国三区' ,3,'中国四区',4,'中国五区' 5)[/quote] 哥儿们昨天很忙?[/quote] 呵呵,怎么这么问呢。。。
流浪川 2014-03-27
  • 打赏
  • 举报
回复
引用 1 楼 zlloct 的回复:
[quote=引用 楼主 ahking 的回复:] 字段mc内容为 中国一区 中国二区 中国三区 中国四区 中国五区 排序结果为 中国二区 中国三区 中国四区 中国五区 中国一区 如何按照一二三四五排序呢?
中文只支持按拼音,笔划,部首排序,默认为拼音。 如果想按照中文一二三四,可以先将数字提出来用decode进行处理然后再排序,如果中文数字很多就很难处理了。 比如, decode(‘一’,'1','二','2')[/quote] 正解,自定义顺序吧,order by decode(mc,'中国一区',1,'中国二区',2,'中国三区' ,3,'中国四区',4,'中国五区' 5)
邪神01 2014-03-27
  • 打赏
  • 举报
回复
加字段 处理 sortid
gangma2 2014-03-27
  • 打赏
  • 举报
回复
排序前:

select mc from t_sort order by mc;
排序后:

汉字排序需要综合数据库所使用的字符集,NLS_SORT,我使用的是SIMPLIFIED CHINESE_CHINA.ZHS16GBK字符集,
默认是按照汉字的拼音顺序进行排序的。如果为其他的字符集(如UTF8),汉字的排序是按照BINARY排序的。
CT_LXL 2014-03-27
  • 打赏
  • 举报
回复
引用 楼主 ahking 的回复:
字段mc内容为 中国一区 中国二区 中国三区 中国四区 中国五区 排序结果为 中国二区 中国三区 中国四区 中国五区 中国一区 如何按照一二三四五排序呢?
中文只支持按拼音,笔划,部首排序,默认为拼音。 如果想按照中文一二三四,可以先将数字提出来用decode进行处理然后再排序,如果中文数字很多就很难处理了。 比如, decode(‘一’,'1','二','2')

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧