互联网服务OracleSQL

oracle sql的排序?

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

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

收起
参与18

查看其它 4 个回答下雪天穿拖鞋的回答

下雪天穿拖鞋下雪天穿拖鞋系统工程师某集团财务公司

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
浏览1133

回答者

下雪天穿拖鞋
系统工程师某集团财务公司
擅长领域: 大数据数据库数据治理

下雪天穿拖鞋 最近回答过的问题

回答状态

  • 发布时间:2020-05-20
  • 关注会员:7 人
  • 回答浏览:1133
  • X社区推广