oracle 提取中文字符串拼音首字母函数,拼音简码提取函数
从别的数据库里拿到的获取拼音简码的函数,觉得挺有意思的,具体的思路就是,通过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 提取中文字符串拼音首字母函数,拼音简码提取函数相关推荐
- 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...
- java实现大段中文转拼音首字母、拼音全拼
话不多说,上代码: package cn.jiangshuai.personManage;import java.util.Scanner;import net.sourceforge.pinyin4 ...
- mysql 拼音首字母_MySQL拼音首字母查询(支持三个中文以内的查询)
#参考这篇博客:http://blog.csdn.net/naruto1021/article/details/17502783,不过这个只支持查询一个中文字母,这是不太符合我的要求,改写如下: 如果 ...
- mysql 汉字字母拼音_mysql 汉字按拼音字母排序、获取拼音首字母、拼音全拼
一.汉字utf-8 转gbk排序 ORDER BY CONVERT(city_name USING gbk) 二.获取词语拼音首字母 创建函数 CREATE FUNCTION `firstPinyin ...
- java 汉字 字母_JAVA获取中文汉字字符串拼音首字母,英文字符不变的工具类
java在处理项目需求时,有时需要排序,尤其是中文名字按0-9,A-Z进行首字母排序,这时候就需要首先要得到中文字符串的首字母,然后按照字母顺序进行排序,不多说,直接上代码,看java如何获取中文字符 ...
- 输入中文转换成拼音首字母
1.输入中文转换成拼音首字母. 需要的maven 工具包 <dependency><groupId>com.belerweb</groupId><artif ...
- VBA获取汉字拼音首字母的函数
汉字转拼单首字母 现在各种查询中,一般都支持拼音首字母查询,下面的函数可以获得汉字的首字母. Public Function PY(myStr) Dim Str$, L$, Temp$, 特殊字$ S ...
- 获取中文汉字英文首字母
在开发中有时候需要使用某些列进行排序,而中文汉字只是按照第一个汉字进行排序,这个时候就需要每个汉字的首字母组成的字符串进行排序. 源码: /// <summary>/// 中文字符串帮助类 ...
- python提取首字母的函数_Oracle提取中文字符串拼音首字母函数
通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 效果1,获取拼音简码: 效果2,获取姓名首字母: 创建函数: /* 获取拼音简码函数 */ CREATE ...
- oracle 中文拼音取首字母,ORACLE依据中文拼音首字母排序、取得中文拼音首字母函数...
当前位置:我的异常网» 数据库 » ORACLE依据中文拼音首字母排序.取得中文拼音首字母 ORACLE依据中文拼音首字母排序.取得中文拼音首字母函数 www.myexceptions.net 网友 ...
最新文章
- 和csm_假面骑士ooo十周年纪念向csm周边 核心硬币和收纳盒再版
- Swift 单元测试
- [EffectiveC++]item41:了解隐式接口和编译期多态
- 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )
- springboot2 cookie的token如何放入请求头_Spring MVC 到底是如何工作的
- Django项目工程配置工程日志
- vue项目中遇到的一些问题
- 华为平板解锁工具_2020年备战考研必选8款平板电脑 平板电脑推荐(12月最新版)...
- c++语言函数strcpy,C++中函数的安全版本的意义及strcpy函数的功能和差别(图)
- matlab的傅里叶变换
- Linux配置scheme环境,用 Xcode Configuration 和 Scheme 配置项目环境
- pythonmatplotlib共享绘图区域_在matplotlib绘图中,y标记右侧,共享x和y
- 基于python语言开发的员工信息管理系统
- 天堂2单机版服务器时间修改,如何制作最新L2J天堂2单机版源码服务端教程.doc
- 人民币升值与A股之我见
- DP转HDMI方案|DP转HDMI自带SPI|AG6311设计电路|AG6311MDQ设计参考原理图
- 批量网址自动提取文字(newspaper)
- 计算机(了解)\注释\变量\数据类型\格式化输出\debug
- 工作1-2年,月薪3000不可怕,可怕的是能力与之相匹配
- 表示转折时yet与but的区别是什么
热门文章
- 记录第一次使用python模拟鼠标点击
- C# 串口CRC CCITT-FALSE 校验
- 4.Transact_Sql语言基础
- vue2 卸载 uninstall vue-meta 报错 up to date, audited 1389 packages in 10s 96 packages are looking for
- 小米机器人虚拟墙设置_大家都有就它独缺,姗姗来迟的虚拟墙方案终更新,小米扫地机器人...
- Hadoop和HBase集群的JMX监控
- MySQL数据的备份与恢复
- BT宝塔面板设置网站自动云备份——备份到七牛云或腾讯COS
- 看蘑菇街发展历程全面解析
- php中文分隔符,php断句无乱码,PHP根据分隔符断句,中英文无乱码