*、oracle之汉字转换成拼音首字母的自定义函数

功能简介:

1、该函数可以将输入的汉字转换成首字母连接的字符串;
2、切记目标字符串存在的所有英文字母都会被替换成空;所以若是纯英文字符串那么返回结果一定是null;这个缺陷抽时间完善之,完善之,完善之,2016年12月12日14:53:49记录!
升级后查看0-0----http://lbovinl.iteye.com/blog/23444142016年12月12日15:35:54

函数源码:

CREATE OR REPLACE
FUNCTION  "F_TRANS_PINYIN_CAPITAL" (P_NAME IN VARCHAR2) RETURN VARCHAR2 AS
V_COMPARE VARCHAR2(100);
V_RETURN VARCHAR2(4000);
FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS
BEGIN
RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M');
--NLSSORT排序规则
--SCHINESE_PINYIN_M拼音
--SCHINESE_STROKE_M笔画
--SCHINESE_RADICAL_M部首
END;
BEGIN
FOR I IN 1..LENGTH(P_NAME) LOOP
V_COMPARE := F_NLSSORT(SUBSTR(P_NAME, I, 1));
IF V_COMPARE >= F_NLSSORT(' 吖 ') AND V_COMPARE <= F_NLSSORT('驁 ') THEN
V_RETURN := V_RETURN || 'a';
ELSIF V_COMPARE >= F_NLSSORT('八 ') AND V_COMPARE <= F_NLSSORT('簿 ') THEN
V_RETURN := V_RETURN || 'b';
ELSIF V_COMPARE >= F_NLSSORT('嚓 ') AND V_COMPARE <= F_NLSSORT('錯 ') THEN
V_RETURN := V_RETURN || 'c';
ELSIF V_COMPARE >= F_NLSSORT('咑 ') AND V_COMPARE <= F_NLSSORT('鵽 ') THEN
V_RETURN := V_RETURN || 'd';
ELSIF V_COMPARE >= F_NLSSORT('妸 ') AND V_COMPARE <= F_NLSSORT('樲 ') THEN
V_RETURN := V_RETURN || 'e';
ELSIF V_COMPARE >= F_NLSSORT('发 ') AND V_COMPARE <= F_NLSSORT('猤 ') THEN
V_RETURN := V_RETURN || 'f';
ELSIF V_COMPARE >= F_NLSSORT('旮 ') AND V_COMPARE <= F_NLSSORT('腂 ') THEN
V_RETURN := V_RETURN || 'g';
ELSIF V_COMPARE >= F_NLSSORT('妎 ') AND V_COMPARE <= F_NLSSORT('夻 ') THEN
V_RETURN := V_RETURN || 'h';
ELSIF V_COMPARE >= F_NLSSORT('丌 ') AND V_COMPARE <= F_NLSSORT('攈 ') THEN
V_RETURN := V_RETURN || 'j';
ELSIF V_COMPARE >= F_NLSSORT('咔 ') AND V_COMPARE <= F_NLSSORT('穒 ') THEN
V_RETURN := V_RETURN || 'k';
ELSIF V_COMPARE >= F_NLSSORT('垃 ') AND V_COMPARE <= F_NLSSORT('擽 ') THEN
V_RETURN := V_RETURN || 'l';
ELSIF V_COMPARE >= F_NLSSORT('嘸 ') AND V_COMPARE <= F_NLSSORT('椧 ') THEN
V_RETURN := V_RETURN || 'm';
ELSIF V_COMPARE >= F_NLSSORT('拏 ') AND V_COMPARE <= F_NLSSORT('瘧 ') THEN
V_RETURN := V_RETURN || 'n';
ELSIF V_COMPARE >= F_NLSSORT('筽 ') AND V_COMPARE <= F_NLSSORT('漚 ') THEN
V_RETURN := V_RETURN || 'o';
ELSIF V_COMPARE >= F_NLSSORT('妑 ') AND V_COMPARE <= F_NLSSORT('曝 ') THEN
V_RETURN := V_RETURN || 'p';
ELSIF V_COMPARE >= F_NLSSORT('七 ') AND V_COMPARE <= F_NLSSORT('裠 ') THEN
V_RETURN := V_RETURN || 'q';
ELSIF V_COMPARE >= F_NLSSORT('亽 ') AND V_COMPARE <= F_NLSSORT('鶸 ') THEN
V_RETURN := V_RETURN || 'r';
ELSIF V_COMPARE >= F_NLSSORT('仨 ') AND V_COMPARE <= F_NLSSORT('蜶 ') THEN
V_RETURN := V_RETURN || 's';
ELSIF V_COMPARE >= F_NLSSORT('侤 ') AND V_COMPARE <= F_NLSSORT('籜 ') THEN
V_RETURN := V_RETURN || 't';
ELSIF V_COMPARE >= F_NLSSORT('屲 ') AND V_COMPARE <= F_NLSSORT('鶩 ') THEN
V_RETURN := V_RETURN || 'w';
ELSIF V_COMPARE >= F_NLSSORT('夕 ') AND V_COMPARE <= F_NLSSORT('鑂 ') THEN
V_RETURN := V_RETURN || 'x';
ELSIF V_COMPARE >= F_NLSSORT('丫 ') AND V_COMPARE <= F_NLSSORT('韻 ') THEN
V_RETURN := V_RETURN || 'y';
ELSIF V_COMPARE >= F_NLSSORT('帀 ') AND V_COMPARE <= F_NLSSORT('咗 ') THEN
V_RETURN := V_RETURN || 'z';
END IF;
END LOOP;
RETURN V_RETURN;
END;

函数创建方法:

第一步:在数据库中创建一个空函数(只有名);
第二步:将上述内容覆盖原有函数的内容;
第三步:保存即可;

调用实例:

select F_TRANS_PINYIN_CAPITAL('中国y') from dual;

oracle之汉字转拼音相关推荐

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

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

  2. oracle实现汉字按照拼音、笔画和部首排序

    oracle实现汉字按照拼音.笔画和部首排序 找了相关的一些资料,都说的不是很清楚,自己也研究了下,终于搞明白了,希望对大家有帮助. 需要说明的是下面的方法需要ORACLE9i和以上的版本才支持. O ...

  3. ORACLE根据汉字获取拼音码:首字母/全拼/首字母截取

    create or replace package  GetHZPY is --oracle汉字转拼音 PACKAGE     --1.获得全拼  www.2cto.com   --SELECT GE ...

  4. ORACLE根据汉字返回拼音的包--强大

    1.发现原来的函数有一些汉字不能进行翻译,比喻说:横.衡:替换成新函数完美解决该类问题. 但是发现该函数遇到空值会异常,等于说没有做空值判断:发现该函数oracle R2 11G上运行 只能在gbk1 ...

  5. oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 1.获得全拼 SELECT GETHZPY.GETHZFULLPY( ...

  6. oracle错误编号06512,一个得到输入汉字的拼音函数报ORA-06512 数字或值错误

    CREATE OR REPLACE FUNCTION F_GET_PYBM (v_name IN VARCHAR2) RETURN VARCHAR2 AS /********************* ...

  7. oracle把中文转换为拼音,怎样将“Oracle”的外部表汉字转换为拼音

    怎样将"Oracle"的外部表汉字转换为拼音 2008-03-07 eNet&Ciweek 我在原来的应用中使用代码表加一个函数来处理汉字转拼音的转换问题,现在由于工作需要 ...

  8. oracle台湾拼音,oracle汉字转拼音

    oracle汉字转拼音 获得全拼/拼音首字母/拼音截取等 小例子一枚: CREATE OR REPLACE FUNCTION "F_SPELLCN" (P1 VARCHAR2,P2 ...

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

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

最新文章

  1. 第一次,我们在人工神经网络中发现了「真」神经元
  2. DATE_FORMAT(date,format)
  3. sizeof是c语言的一种运算符,C语言位运算和sizeof运算符详解
  4. [小明学Shader]14.热扭曲效果
  5. SAP S/4HANA里修改了Business Partner后的调试入口
  6. 伦巴时间步的动作要领_准军集结号,叶教官队列动作教学
  7. 不懂物理,何以谈科技?
  8. android 相册 uri空,Android---相册getContentResolver().query结果为空指针
  9. python模拟输入回车键_用Python模拟键盘输入
  10. 【Python爬虫】入门知识
  11. 都是自私惹的祸? 论蹭网再触道德底线
  12. 世界CEO薪酬排行榜第一位高达690 亿元
  13. 麻雀算法极限学习机SSA-ELM回归预测及其MATLAB代码实现
  14. java Swing TXT文件分割程序
  15. dpkg: warning: files list file for package ‘‘ missing; assuming package has no files currently insta
  16. ffmpeg sdk 视频合成 音视频截取
  17. 【林轩田】机器学习基石(九)——线性回归
  18. SAP 散装物料作用及设置
  19. 016--JLE JNG(小于等于)
  20. 2012服务器系统安全模式怎么进,Windows Server 2012 一直出現在安全模式

热门文章

  1. excel中html批量转化为pdf文件,批量将Excel转换成pdf文档的方法
  2. kafka partition java,kafka中partition数量与消费者对应关系以及Java实践
  3. 北欧的Michael Learns To Rock的一首清澈见底的【Take Me To Your Heart】
  4. vue3 子组件上绑定(v-model=“xx“) 父组件传过来的值后报错
  5. 进击的 JavaScript(四) 之 闭包
  6. python opencv实现图像生成bump map凹凸贴图
  7. 进入不了计算机鼠标老是转,鼠标一直转圈怎么办?怎么让鼠标不要一直转圈?...
  8. 2018 年秋季 10 月江苏省计算机等级考试回忆(二级 Python)
  9. 电脑录制GIF动态图
  10. 走在边缘地带上的百度,还是差了那么一点!