从别的数据库里拿到的获取拼音简码的函数,觉得挺有意思的,具体的思路就是,通过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; 

oracle 提取中文字符串拼音首字母函数,拼音简码提取函数相关推荐

  1. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...

  2. java实现大段中文转拼音首字母、拼音全拼

    话不多说,上代码: package cn.jiangshuai.personManage;import java.util.Scanner;import net.sourceforge.pinyin4 ...

  3. mysql 拼音首字母_MySQL拼音首字母查询(支持三个中文以内的查询)

    #参考这篇博客:http://blog.csdn.net/naruto1021/article/details/17502783,不过这个只支持查询一个中文字母,这是不太符合我的要求,改写如下: 如果 ...

  4. mysql 汉字字母拼音_mysql 汉字按拼音字母排序、获取拼音首字母、拼音全拼

    一.汉字utf-8 转gbk排序 ORDER BY CONVERT(city_name USING gbk) 二.获取词语拼音首字母 创建函数 CREATE FUNCTION `firstPinyin ...

  5. java 汉字 字母_JAVA获取中文汉字字符串拼音首字母,英文字符不变的工具类

    java在处理项目需求时,有时需要排序,尤其是中文名字按0-9,A-Z进行首字母排序,这时候就需要首先要得到中文字符串的首字母,然后按照字母顺序进行排序,不多说,直接上代码,看java如何获取中文字符 ...

  6. 输入中文转换成拼音首字母

    1.输入中文转换成拼音首字母.  需要的maven 工具包 <dependency><groupId>com.belerweb</groupId><artif ...

  7. VBA获取汉字拼音首字母的函数

    汉字转拼单首字母 现在各种查询中,一般都支持拼音首字母查询,下面的函数可以获得汉字的首字母. Public Function PY(myStr) Dim Str$, L$, Temp$, 特殊字$ S ...

  8. 获取中文汉字英文首字母

    在开发中有时候需要使用某些列进行排序,而中文汉字只是按照第一个汉字进行排序,这个时候就需要每个汉字的首字母组成的字符串进行排序. 源码: /// <summary>/// 中文字符串帮助类 ...

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

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

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

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

最新文章

  1. 和csm_假面骑士ooo十周年纪念向csm周边 核心硬币和收纳盒再版
  2. Swift 单元测试
  3. [EffectiveC++]item41:了解隐式接口和编译期多态
  4. 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
  5. springboot2 cookie的token如何放入请求头_Spring MVC 到底是如何工作的
  6. Django项目工程配置工程日志
  7. vue项目中遇到的一些问题
  8. 华为平板解锁工具_2020年备战考研必选8款平板电脑 平板电脑推荐(12月最新版)...
  9. c++语言函数strcpy,C++中函数的安全版本的意义及strcpy函数的功能和差别(图)
  10. matlab的傅里叶变换
  11. Linux配置scheme环境,用 Xcode Configuration 和 Scheme 配置项目环境
  12. pythonmatplotlib共享绘图区域_在matplotlib绘图中,y标记右侧,共享x和y
  13. 基于python语言开发的员工信息管理系统
  14. 天堂2单机版服务器时间修改,如何制作最新L2J天堂2单机版源码服务端教程.doc
  15. 人民币升值与A股之我见
  16. DP转HDMI方案|DP转HDMI自带SPI|AG6311设计电路|AG6311MDQ设计参考原理图
  17. 批量网址自动提取文字(newspaper)
  18. 计算机(了解)\注释\变量\数据类型\格式化输出\debug
  19. 工作1-2年,月薪3000不可怕,可怕的是能力与之相匹配
  20. 表示转折时yet与but的区别是什么

热门文章

  1. 记录第一次使用python模拟鼠标点击
  2. C# 串口CRC CCITT-FALSE 校验
  3. 4.Transact_Sql语言基础
  4. vue2 卸载 uninstall vue-meta 报错 up to date, audited 1389 packages in 10s 96 packages are looking for
  5. 小米机器人虚拟墙设置_大家都有就它独缺,姗姗来迟的虚拟墙方案终更新,小米扫地机器人...
  6. Hadoop和HBase集群的JMX监控
  7. MySQL数据的备份与恢复
  8. BT宝塔面板设置网站自动云备份——备份到七牛云或腾讯COS
  9. 看蘑菇街发展历程全面解析
  10. php中文分隔符,php断句无乱码,PHP根据分隔符断句,中英文无乱码