1、Oracle9i 新增了按照拼音、部首、笔画排序功能,在使用时一般都是按拼音排序

按照拼音排序:
select * from [表名]order by nlssort([栏位名],'NLS_SORT=SCHINESE_PINYIN_M');按照笔画排序:
select * from [表名]order by nlssort([栏位名],'NLS_SORT=SCHINESE_STROKE_M'); 按照部首排序:
select * from [表名] order by nlssort([栏位名],'NLS_SORT=SCHINESE_RADICAL_M');

其中NLS_SORT 各参数值的含义:

SCHINESE_PINYIN_M : 按照拼音排序

SCHINESE_STROKE_M: 先按照笔画再按部首排序

SCHINESE_RADICAL_M:先按照部首再按照笔画排序。

2、通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母。具体实现效果和代码如下。

/* 获取拼音简码函数 */
CREATE OR REPLACE FUNCTION GET_PYJM (P_NAME IN VARCHAR2)RETURN VARCHAR2
ASV_COMPARE   VARCHAR2 (100);V_RETURN    VARCHAR2 (4000);
BEGINDECLAREFUNCTION F_NLSSORT (P_WORD IN VARCHAR2)RETURN VARCHAR2ASBEGINRETURN NLSSORT (P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M');END;BEGINFOR I IN 1 .. LENGTH (P_NAME)LOOPV_COMPARE := F_NLSSORT (SUBSTR (P_NAME, I, 1));IF     V_COMPARE >= F_NLSSORT ('吖')AND V_COMPARE <= F_NLSSORT ('驁')THENV_RETURN := V_RETURN || 'A';ELSIF     V_COMPARE >= F_NLSSORT ('八')AND V_COMPARE <= F_NLSSORT ('簿')THENV_RETURN := V_RETURN || 'B';ELSIF     V_COMPARE >= F_NLSSORT ('嚓')AND V_COMPARE <= F_NLSSORT ('錯')THENV_RETURN := V_RETURN || 'C';ELSIF     V_COMPARE >= F_NLSSORT ('咑')AND V_COMPARE <= F_NLSSORT ('鵽')THENV_RETURN := V_RETURN || 'D';ELSIF     V_COMPARE >= F_NLSSORT ('妸')AND V_COMPARE <= F_NLSSORT ('樲')THENV_RETURN := V_RETURN || 'E';ELSIF     V_COMPARE >= F_NLSSORT ('发')AND V_COMPARE <= F_NLSSORT ('猤')THENV_RETURN := V_RETURN || 'F';ELSIF     V_COMPARE >= F_NLSSORT ('旮')AND V_COMPARE <= F_NLSSORT ('腂')THENV_RETURN := V_RETURN || 'G';ELSIF     V_COMPARE >= F_NLSSORT ('妎')AND V_COMPARE <= F_NLSSORT ('夻')THENV_RETURN := V_RETURN || 'H';ELSIF     V_COMPARE >= F_NLSSORT ('丌')AND V_COMPARE <= F_NLSSORT ('攈')THENV_RETURN := V_RETURN || 'J';ELSIF     V_COMPARE >= F_NLSSORT ('咔')AND V_COMPARE <= F_NLSSORT ('穒')THENV_RETURN := V_RETURN || 'K';ELSIF     V_COMPARE >= F_NLSSORT ('垃')AND V_COMPARE <= F_NLSSORT ('擽')THENV_RETURN := V_RETURN || 'L';ELSIF     V_COMPARE >= F_NLSSORT ('嘸')AND V_COMPARE <= F_NLSSORT ('椧')THENV_RETURN := V_RETURN || 'M';ELSIF     V_COMPARE >= F_NLSSORT ('拏')AND V_COMPARE <= F_NLSSORT ('瘧')THENV_RETURN := V_RETURN || 'N';ELSIF     V_COMPARE >= F_NLSSORT ('筽')AND V_COMPARE <= F_NLSSORT ('漚')THENV_RETURN := V_RETURN || 'O';ELSIF     V_COMPARE >= F_NLSSORT ('妑')AND V_COMPARE <= F_NLSSORT ('曝')THENV_RETURN := V_RETURN || 'P';ELSIF     V_COMPARE >= F_NLSSORT ('七')AND V_COMPARE <= F_NLSSORT ('裠')THENV_RETURN := V_RETURN || 'Q';ELSIF     V_COMPARE >= F_NLSSORT ('亽')AND V_COMPARE <= F_NLSSORT ('鶸')THENV_RETURN := V_RETURN || 'R';ELSIF     V_COMPARE >= F_NLSSORT ('仨')AND V_COMPARE <= F_NLSSORT ('蜶')THENV_RETURN := V_RETURN || 'S';ELSIF     V_COMPARE >= F_NLSSORT ('侤')AND V_COMPARE <= F_NLSSORT ('籜')THENV_RETURN := V_RETURN || 'T';ELSIF     V_COMPARE >= F_NLSSORT ('屲')AND V_COMPARE <= F_NLSSORT ('鶩')THENV_RETURN := V_RETURN || 'W';ELSIF     V_COMPARE >= F_NLSSORT ('夕')AND V_COMPARE <= F_NLSSORT ('鑂')THENV_RETURN := V_RETURN || 'X';ELSIF     V_COMPARE >= F_NLSSORT ('丫')AND V_COMPARE <= F_NLSSORT ('韻')THENV_RETURN := V_RETURN || 'Y';ELSIF     V_COMPARE >= F_NLSSORT ('帀')AND V_COMPARE <= F_NLSSORT ('咗')THENV_RETURN := V_RETURN || 'Z';END IF;END LOOP;RETURN V_RETURN;END;
END;

参考资料:
1、https://blog.csdn.net/weixin_42468607/article/details/104811137?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-6.control&dist_request_id=1331997.9415.16189023826948435&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7Edefault-6.control 20210421
2、https://blog.csdn.net/Ezitai/article/details/68923406?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.control 20210421
3、https://www.jb51.cc/oracle/211496.html 20210421

oracle数据库按中文拼音排序,以及提取中文字符串拼音首字母函数相关推荐

  1. java 中文联系人排序_通讯录之按汉字首字母排序-java

    最近开发手机端OA系统通讯录时遇到了用汉字首字母排序的问题,各种谷歌后发现了一个轮子pinyin4J,这个轮子是可以将汉字转换成字母拼音,个人觉得很好用,完美的解决了排序的问题,分享一下. 一.工具介 ...

  2. oracle 中文拼音取首字母,ORACLE依据中文拼音首字母排序、取得中文拼音首字母函数...

    当前位置:我的异常网» 数据库 » ORACLE依据中文拼音首字母排序.取得中文拼音首字母 ORACLE依据中文拼音首字母排序.取得中文拼音首字母函数 www.myexceptions.net  网友 ...

  3. python提取首字母的函数_Oracle提取中文字符串拼音首字母函数

    通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 效果1,获取拼音简码: 效果2,获取姓名首字母: 创建函数: /* 获取拼音简码函数 */ CREATE ...

  4. oracle数据库的字段怎么排序规则,Oracle中文、数字混杂字段的排序

    对Oracle中中文.数字混杂形式的字段进行排序的方法: 例如: orderbyNLSSORT(字段名,'NLS_SORT = SCHINESE_PINYIN_M'), to_number(trans ...

  5. oracle 提取中文字符串拼音首字母函数,拼音简码提取函数

    从别的数据库里拿到的获取拼音简码的函数,觉得挺有意思的,具体的思路就是,通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母.具体实现效果和代码如下. 希望能帮助 ...

  6. Oracle提取中文字符串拼音首字母函数

    通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 创建函数 /* 获取拼音简码函数 */ CREATE OR REPLACE FUNCTION GET_PY ...

  7. 使用Lambda表达式对中文拼音排序(按中文字典排序)

    使用Lambda表达式对中文拼音排序(中文字典排序) 今天项目上有一个需求,要求对用户名按照拼音排序(不通过数据库端SQL操作),由于用户名为中文,所以使用常规排序并不能解决问题. package l ...

  8. Oracle数据库之过滤和排序

    oracle安装参照: Oracle数据库之安装教程 Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...

  9. c语言中文拼音排序,为sqlite增加汉字拼音排序功能

    此文已由作者严跃杰授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Sqlite3是一款C语言实现的小型SQL数据库引擎,它体积小巧但功能强大, 性能表现也非常不错, 因此在客 ...

  10. mysql获取汉字拼音首字母_MySQL数据库获取汉字拼音的首字母函数

    需求简介:最 近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组的拼音首字母就可以实现了,如果是固定的几个汉字,人为的拼一下就可以 了,不过项目中有多处功能是需要这个效果的, ...

最新文章

  1. 湖南网络推广中网络SEO竞争越来越激烈,怎么才能实现“弯道超车”呢?
  2. 《Effective Java》 读书笔记(持续更新)
  3. openCV滑动条TrackBar事件实例
  4. BigDecimal保留两位小数,不足两位补0
  5. 在三个Java IDE中生成的三种常见方法
  6. uva 11572 ——Unique Snowflakes
  7. 向前欧拉公式例题_干货丨阅读理解答题万能公式,语文考试高分秘籍!
  8. 无法移动或重命名“Documents and Settings”文件夹
  9. java extjs combobox_extjs的combobox的用法
  10. java程序(1016)
  11. IsHitTestVisible=False 的功能
  12. 决定明智地放弃对名手旋风等象棋引擎的破解...
  13. Doom启示录(三)------李乃峰所崇拜之 两个约翰!
  14. IDEA热部署之JRebel破解附反向代理破解exe(安装)
  15. 关于《error: 函数“int main(void)”已有主体》的错误
  16. IBM、Google、Oracle三巨头的公有云之殇(上)
  17. Oracle between and
  18. 网络名称以太网网络2/3修改成网络
  19. catia利用宏批量改名的方法_CATIA宏:批量将零件转为设计模式插件,轻轻松松使用高速缓存...
  20. 了解利用API接口通过网格策略的增长模式

热门文章

  1. 亿图脑图-MindMaster-思维导图及亿图图示会员-史上超值活动
  2. 安卓Systrace工具使用流程
  3. 视频聊天软件开发都需要用到哪些三方服务?
  4. USB (二)硬件概念 以 STM32F4为例
  5. js日期格式化的两种方法
  6. mysql热备份使用方案_MySQL双机热备份实施方案
  7. 显示随机森林多元回归结果
  8. sequel pro 格式化sql
  9. MATLAB自带插值函数
  10. 带约束优化之惩罚函数法