ORACLE的order by中文排序

 时间:2024-10-13 19:39:15

在使用order by排序的时候,出现如下情况:

ORACLE的order by中文排序

由此基本可以断定,确实是通过ASCII的大小来排序的,这也解释了为什么数字会排在字母之前,字母为什么会排在汉字之前的现象。但是为什么会出现汉字默认是通过拼音排序的错觉呢,于是查了一下汉字的编码规则,有提到如下一句:

“一级汉字,是最常用的汉字,按汉语拼音字母顺序排列,共3755个;二级汉字,属于次常用汉字,按偏旁部首的笔划顺序排列,共3008个”

可知,如果排序的汉字都是一级汉字的话,确实是按照拼音顺序排列的,如果涉及到二级汉字,就不一定了。

但是,如果就是要让汉字通过拼音顺序排序呢,可以通过如下方式:

ORACLE的order by中文排序

按照拼音顺序

ORDER BYnlssort(NAME,'NLS_SORT=SCHINESE_PINYIN_M')

按照部首顺序

ORDERBYnlssort(NAME, 'NLS_SORT=SCHINESE_RADICAL_M')

按照笔画顺序

ORDER BYnlssort(NAME, 'NLS_SORT=SCHINESE_STROKE_M')

  • excel中,怎么使用VBA制作导航模块?
  • 在Excel中怎样自动高亮当前行?
  • Excel如何翻译表格内容?
  • excel快速查询数据不使用函数怎么做
  • oracle查询中如何进行排序查询
  • 热门搜索
    怎么修改照片分辨率 鱿鱼怎么炒好吃又嫩 做包子怎么发面才松软发面的方法 止血方法 丰胸最有效最天然的方法 脑萎缩最佳治疗方法 广发强债基金怎么样 jdi屏幕怎么样 扁桃体肿大治疗方法 芦荟的养殖方法和注意事项