汉字转拼音

CREATE OR REPLACE FUNCTION "F_PINYIN"(P_NAME IN VARCHAR2) RETURN VARCHAR2
result_cache 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‘);
 END;
 BEGIN
 if length(P_NAME)>0 then
 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‘;
 ELSE  V_RETURN := V_RETURN ||SUBSTR(P_NAME, I, 1);
 END IF;
 END LOOP;
end if;
 RETURN V_RETURN;
 END;
时间: 2025-01-08 00:48:41

汉字转拼音的相关文章

C#汉字转拼音(支持多音字)

阅读目录 首先在nuget引用对应的包 简单的demo 汉字转拼音类封装 源码分享 之前由于项目需要,中间需要一个汉字转拼音和首拼的功能来做查询,感觉这种功能基本已经成熟化了,于是查找了相关的代码,首先引入眼帘的是下面两篇文章 1.C# 汉字转拼音(支持GB2312字符集中所有汉字) 2.[干货]JS版汉字与拼音互转终极方案,附简单的JS拼音输入法 感谢两位博主,写的比较全也很详细,都有提供源码,大家可以参考下. 由于考虑到接口的需要,于是参考了 第一篇,文章中作者的源码基本能满足汉字转拼音的需

swift 汉字转拼音

需要扩展一个String类的方法 extension String { func transformToPinYin() -> String { let mutableString = NSMutableString(string: self) //把汉字转为拼音 CFStringTransform(mutableString, nil, kCFStringTransformToLatin, false) //去掉拼音的音标 CFStringTransform(mutableString, ni

iOS获取汉字的拼音

在iOS开发中经常涉及到汉字的排序,最常见的就是需要根据首字母的字符顺序排列,比如常见的通讯录等.总结出来,大致可以分为两种方法,其中参考文献[1]中提供的方法十分复杂,并且代码量很大,不建议采用.另一种方法是直接采用Core Foundation中提供的方法,十分简单,封装好的代码如下: 1 - (NSString *)transform:(NSString *)chinese{ 2 //将NSString装换成NSMutableString 3 NSMutableString *pinyin

Microsoft Visual Studio International Pack 1.0 SR1--关于汉字转拼音

Microsoft Visual Studio International Pack 1.0 SR1————微软的一个类库 地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=15251 Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用.SR1 包含对 Ja

java实现将汉字转为拼音

有时候为了方便操作程序的开发,需要将汉字转为拼音等操作.下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践.完整的实现了将汉字转为拼音的操作.这个Demo只是负责将其转换,在main方法中测试,在实际需要中,只需要调用这个类中的方法即可.本人也是在学习中总结,欢迎各位大神拍砖指教,本人邮箱:[email protected].转载本博客时请在文章明显位置标明文章出处(itRed的博客:http://www.cnblogs.com/itred). 首先贴出测试结果: 测试参数: 汉字转换

asp.net 汉字转拼音类

前段时间公司人员反应OA里的汉字拼音首字母不准他们又要用,没办法自己就从网上搜有没有好的,看了很多都是首字母拼不出来或有些字母变为另一个,但最后找了很多还是有一个好用的,暂未发现有不准的. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace O.Common { /// <summary> /// 汉字转拼音 /// </summary> pu

java字符操作获取汉字的拼音以及其它经常使用工具

公司需求年年有,今年有点小特殊,哈哈. 忽然加了个需求,说要实现汉字转拼音查询. 在努力下写出来了,如今分享一下吧!.! /** * 汉字转拼音缩写 * * @param str * 要转换的汉字字符串 * @return String 拼音缩写 */ public static String getPYString(String str) { String tempStr = ""; for (int i = 0; i < str.length(); i++) { char c

c#汉字转为拼音

using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace DTcms.Common { public class EnCh { //定义拼音区编码数组 private static int[] getValue = new int[] { -20319,-20317,-20304,-20295,-20292,-20283,-2

汉字转拼音首字母

输入汉字,提取其首字母: /// <summary> /// 汉字转拼音缩写 /// Code By /// 2004-11-30 /// </summary> /// <param name="str">要转换的汉字字符串</param> /// <returns>拼音缩写</returns> public string GetPYString(string str) { string tempStr = &qu

汉字转拼音缩写

/// 〈summary〉 /// 汉字转拼音缩写 /// 〈/summary〉 /// 〈param name="str"〉要转换的汉字字符串〈/param〉 /// 〈returns〉拼音缩写〈/returns〉 public string GetPYString(string str) { string tempStr = ""; foreach(char c in str) { if((int)c 〉= 33 && (int)c 〈=126)