在oracle中查询的数据按汉语拼音首字母排序

 时间:2026-04-22 14:01:29

1、首先安装Oracle和PL/SQL Developer,登陆PL/SQL Developer,登陆界面如图所示。

在oracle中查询的数据按汉语拼音首字母排序

2、例如要查询的表名为base_service,普通查询sql为select * from base_service,结果如图

在oracle中查询的数据按汉语拼音首字母排序

3、查询的sql为 select * from base_service order by nlssort(service_name,'NLS_SORT=SCHINESE_PINYIN_M') ,效果如图

在oracle中查询的数据按汉语拼音首字母排序

4、看着sql和效果图,有些人肯定觉得我的sql写的麻烦了,select * from base_service order by service_name也可以,效果图如图所示

在oracle中查询的数据按汉语拼音首字母排序

5、也是按拼音排序的,为什么呢?这是因为按拼音排序是按ASCII的大小来排序的,ASCII中有一级汉字和二级汉字之分,如果全是一级汉字,那么两种方法就正确,如果有二级汉字的时候,第二种就不正确。看sql 

with a as (select '{' name from dual union all

         

         select '%' name from dual union all

         select '中' name from dual union all

         select '鑫' name from dual union all

         select '木' name from dual union all

         select '酥' name from dual union all

         select '贴' name from dual 

         ) 

 select name ,ascii(name) from a order by name ,效果如图所示

在oracle中查询的数据按汉语拼音首字母排序

6、用第二种方法,会看到“鑫”和“中”的顺序颠倒了,如果用第一种方法,效果如图。

在oracle中查询的数据按汉语拼音首字母排序

  • windows edge 显示书签栏
  • win11更改tcp协议教程
  • Teamviewer连接的电脑无法被控制的一种解决办法
  • win10如何设置通知的时间
  • 电脑如何设置Encrypting File System (EFS)?
  • 热门搜索
    a21是什么牌子 托福是什么 西米露是什么 滔滔不绝是什么意思 颜控是什么意思 什么是太岁 假如你不曾养育我是什么歌 什么时候买车最便宜 竹荪是什么 挨打的读音是什么