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

 时间:2026-02-12 22:55:11

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)?
  • 热门搜索
    高速什么时候免费通行 bicycle是什么意思 哺乳文胸什么牌子好 神圣的意思 火中取栗的意思 祝新婚快乐的祝福语 生意祝福语大全 led灯是什么意思 义务的意思 元日古诗的意思