互联网服务OracleSQL

oracle sql的排序?

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

参与18

5同行回答

下雪天穿拖鞋下雪天穿拖鞋系统工程师某集团财务公司
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
浏览1134

提问者

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

相关问题

相关资料

相关文章

问题状态

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