互联网服务OracleSQL

oracle sql的排序?

现在有个需求,要在sql语句中,对中文的“一”、“二”、“三”............“十”,进行排序,请谈谈思路?

参与18

5同行回答

zhuqibszhuqibs  软件开发工程师 , Adidas
这个问题很简单, 就是做个映射关系,mapping出来的是可以排序的,比如1,,2,3,。。。,10显示全部

这个问题很简单, 就是做个映射关系,mapping出来的是可以排序的,比如1,,2,3,。。。,10

收起
互联网服务 · 2020-04-24
浏览1064
下雪天穿拖鞋下雪天穿拖鞋  系统工程师 , 某集团财务公司
Oracle中对中文的排序,可以指定四种排序方式,二进制(BINARY)、拼音(SCHINESE_PINYIN_M)、笔画(SCHINESE_STROKE_M)、部首(SCHINESE_RADICAL_M)。可以通过select NLS_SORT from NLS_SESSION_PARAMETERS查看默认排序方式;通过order by NLSSORT(字段名,'排序方式')选择排序方式...显示全部

Oracle中对中文的排序,可以指定四种排序方式,二进制(BINARY)、拼音(SCHINESE_PINYIN_M)、笔画(SCHINESE_STROKE_M)、部首(SCHINESE_RADICAL_M)。可以通过select NLS_SORT from NLS_SESSION_PARAMETERS查看默认排序方式;通过order by NLSSORT(字段名,'排序方式')选择排序方式。
如果需要按数字顺序排序,可以创建function将中文转换成阿拉伯数字,查询sql中调用function转换后进行排序。最简单、方便的方式,是表中额外添加一列,标明对应的阿拉伯数字,按照新列排序即可。

收起
金融其它 · 2020-05-20
浏览1117
寒风waw寒风waw  项目经理 , 新华博
手工指定顺序显示全部

手工指定顺序

收起
互联网服务 · 2020-04-29
浏览1056
zftangzftang  其它 , 小白一枚
做配置表做映射关系显示全部

做配置表
做映射关系

收起
互联网服务 · 2020-04-24
浏览1047
hufeng719hufeng719  系统工程师 , 某钢铁企业
可以使用decode函数 if..else  if else 单独的汉字sql是认不出来一二三的,要么按笔画、要么按偏旁,但这些都不符合您的意思显示全部

可以使用decode函数 if..else  if else 
单独的汉字sql是认不出来一二三的,要么按笔画、要么按偏旁,但这些都不符合您的意思

收起
能源采矿 · 2020-04-24
浏览1121

提问者

zhuqibs
软件开发工程师Adidas
擅长领域: 云计算服务器存储

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-04-24
  • 关注会员:7 人
  • 问题浏览:2395
  • 最近回答:2020-05-20
  • X社区推广