`

oracle之汉字转拼音

阅读更多

*、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汉字转拼音package包-支持UTF8"是一个非常实用的工具,可以帮助我们在Oracle数据库环境中有效地处理汉字到拼音的转换问题,尤其适用于处理UTF8编码的多语言数据。正确理解和使用这个Package,...

    oracle汉字转拼音函数整理大全

    ### Oracle汉字转拼音函数知识点详解 #### 一、概述 在Oracle数据库中,有时需要将汉字转换成拼音,尤其是在处理中文数据时。本篇文档详细介绍了两种用于转换汉字到拼音的自定义函数:`fn_getpyKGJG` 和 `fn_...

    oracle将汉字转换成拼音

    可以将oracle数据库中保存的中文转换成拼音,拼音首字母等

    oracle汉字转拼音 获得全拼、拼音首字母、拼音截取等

    oracle汉字转拼音 获得全拼、拼音首字母、拼音截取等

    Oracle SQL 汉字转拼音fun_py.txt

    Oracle SQL 汉字转拼音

    oracle批量修改汉字转拼音首字母的函数

    在Oracle数据库环境中,批量修改汉字转拼音首字母的需求常常出现在数据处理、索引优化或特定查询场景中。这里我们将深入探讨如何实现这个功能,并提供相关的函数和方法。 首先,我们需要理解汉字转拼音首字母的基本...

    oracle汉字转拼音

    Oracle汉字转拼音的功能主要涉及到Oracle的内置函数和过程,这些功能可以帮助我们实现这一目标。下面将详细介绍如何在Oracle中进行汉字转拼音,并提供相关的SQL语句示例。 一、Oracle中的汉字转拼音原理 Oracle...

    Oracle将汉字转换为拼音的方法

    在汉字转拼音的过程中,我们可以利用`UTL_I18N.RAWTOCHAR`函数,配合特定的字符集来完成转换。例如,`AL32UTF8`字符集支持大部分汉字,而`ZHS16GBK`字符集则适用于GBK编码的汉字。 下面是一个简单的示例,展示如何...

    oracle汉字转换成拼音首字母、全拼等

    oracle汉字转换成拼音首字母、全拼,各种转换类型比较齐全,oracle汉字转换五笔首字母链接https://blog.csdn.net/weixin_40912627/article/details/88710064

    汉字转拼音的Oracle函数_201303

    汉字转拼音的Oracle函数 前言:最近处理一个特殊的问题,需要用到汉字自动转换拼音的功能。 解决:网上找了不少资料,都是有所缺陷,而且也好像很绕。其实是一个很简单的东东。后来还是自己写了一个函数获取。 这是...

    ORACLE汉字转拼音

    "ORACLE汉字转拼音"这个主题就聚焦于如何在Oracle数据库中实现这一功能。以下是对这个知识点的详细阐述: 1. **Oracle中的函数编程**: Oracle数据库支持PL/SQL,它是一种过程化语言,允许我们创建自定义函数来...

    oracle 中文转拼音工具包

    `sql/oracle汉字转拼音package.sql`是一个SQL脚本,它创建了一个Oracle数据库中的存储过程或者包(package),用于实现中文到拼音的转换功能。在Oracle数据库中,存储过程是一组为了完成特定功能的SQL语句集,可以被...

    oracle汉字转拼音的函数代码

    综上所述,"oracle汉字转拼音的函数代码"涉及到的是在Oracle数据库中通过自定义函数实现汉字到拼音的转换,这需要对Oracle的PL/SQL编程、字符编码和语言处理有一定的了解。通过学习并运用这些代码,我们可以增强...

    oracle汉字转拼音package_(UTF8)

    总的来说,"oracle汉字转拼音package_(UTF8)"是一个实用的工具,可以帮助开发人员在Oracle数据库中处理中文数据,特别是在需要进行拼音搜索或分析的场景下。了解并掌握这个包的使用,可以提升你在处理中文信息时的...

    oracle汉字转拼音函数

    oracle汉字转拼音函数,支持拼音大小写,首字母

    oracle获取汉字拼音和拼音首字母的功能函数

    在Oracle数据库中,处理汉字和拼音的场景时,有时我们需要获取汉字的拼音或者拼音首字母。这在构建中文搜索引擎、数据分析或报表展示等场景中非常有用。Oracle提供了一些内置的功能函数,可以用来实现这些需求。以下...

    oracle姓名中文转全拼函数

    Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...

    oracle提取汉字拼音和首字母

    在Oracle数据库环境中,有时我们需要对汉字进行处理,例如获取汉字的拼音或首字母,这在中文数据检索、排序或建立索引时非常有用。本文将详细介绍如何使用PL/SQL存储过程来实现这一功能。 首先,我们需要理解Oracle...

    oracle汉字转拼音package_获得全拼——拼音首字母_拼音截取等

    oracle汉字转拼音package_获得全拼——拼音首字母_拼音截取等,供大家参考!!!

Global site tag (gtag.js) - Google Analytics