*、oracle之汉字转换成拼音首字母的自定义函数
功能简介:
1、该函数可以将输入的汉字转换成首字母连接的字符串; 2、切记目标字符串存在的所有英文字母都会被替换成空; 所以若是纯英文字符串那么返回结果一定是null; 这个缺陷抽时间完善之,完善之,完善之,2016年12月12日14:53:49记录! 升级后查看0-0----http://lbovinl.iteye.com/blog/2344414 2016年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汉字转拼音package包-支持UTF8"是一个非常实用的工具,可以帮助我们在Oracle数据库环境中有效地处理汉字到拼音的转换问题,尤其适用于处理UTF8编码的多语言数据。正确理解和使用这个Package,...
### Oracle汉字转拼音函数知识点详解 #### 一、概述 在Oracle数据库中,有时需要将汉字转换成拼音,尤其是在处理中文数据时。本篇文档详细介绍了两种用于转换汉字到拼音的自定义函数:`fn_getpyKGJG` 和 `fn_...
可以将oracle数据库中保存的中文转换成拼音,拼音首字母等
oracle汉字转拼音 获得全拼、拼音首字母、拼音截取等
Oracle SQL 汉字转拼音
在Oracle数据库环境中,批量修改汉字转拼音首字母的需求常常出现在数据处理、索引优化或特定查询场景中。这里我们将深入探讨如何实现这个功能,并提供相关的函数和方法。 首先,我们需要理解汉字转拼音首字母的基本...
Oracle汉字转拼音的功能主要涉及到Oracle的内置函数和过程,这些功能可以帮助我们实现这一目标。下面将详细介绍如何在Oracle中进行汉字转拼音,并提供相关的SQL语句示例。 一、Oracle中的汉字转拼音原理 Oracle...
在汉字转拼音的过程中,我们可以利用`UTL_I18N.RAWTOCHAR`函数,配合特定的字符集来完成转换。例如,`AL32UTF8`字符集支持大部分汉字,而`ZHS16GBK`字符集则适用于GBK编码的汉字。 下面是一个简单的示例,展示如何...
oracle汉字转换成拼音首字母、全拼,各种转换类型比较齐全,oracle汉字转换五笔首字母链接https://blog.csdn.net/weixin_40912627/article/details/88710064
汉字转拼音的Oracle函数 前言:最近处理一个特殊的问题,需要用到汉字自动转换拼音的功能。 解决:网上找了不少资料,都是有所缺陷,而且也好像很绕。其实是一个很简单的东东。后来还是自己写了一个函数获取。 这是...
"ORACLE汉字转拼音"这个主题就聚焦于如何在Oracle数据库中实现这一功能。以下是对这个知识点的详细阐述: 1. **Oracle中的函数编程**: Oracle数据库支持PL/SQL,它是一种过程化语言,允许我们创建自定义函数来...
`sql/oracle汉字转拼音package.sql`是一个SQL脚本,它创建了一个Oracle数据库中的存储过程或者包(package),用于实现中文到拼音的转换功能。在Oracle数据库中,存储过程是一组为了完成特定功能的SQL语句集,可以被...
综上所述,"oracle汉字转拼音的函数代码"涉及到的是在Oracle数据库中通过自定义函数实现汉字到拼音的转换,这需要对Oracle的PL/SQL编程、字符编码和语言处理有一定的了解。通过学习并运用这些代码,我们可以增强...
总的来说,"oracle汉字转拼音package_(UTF8)"是一个实用的工具,可以帮助开发人员在Oracle数据库中处理中文数据,特别是在需要进行拼音搜索或分析的场景下。了解并掌握这个包的使用,可以提升你在处理中文信息时的...
oracle汉字转拼音函数,支持拼音大小写,首字母
在Oracle数据库中,处理汉字和拼音的场景时,有时我们需要获取汉字的拼音或者拼音首字母。这在构建中文搜索引擎、数据分析或报表展示等场景中非常有用。Oracle提供了一些内置的功能函数,可以用来实现这些需求。以下...
Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...
在Oracle数据库环境中,有时我们需要对汉字进行处理,例如获取汉字的拼音或首字母,这在中文数据检索、排序或建立索引时非常有用。本文将详细介绍如何使用PL/SQL存储过程来实现这一功能。 首先,我们需要理解Oracle...
oracle汉字转拼音package_获得全拼——拼音首字母_拼音截取等,供大家参考!!!