重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
CREATE OR REPLACE FUNCTION F_PINYIN(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');
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';
ELSE V_RETURN := V_RETURN ||SUBSTR(P_NAME, I, 1);
END IF;
END LOOP;
RETURN V_RETURN;
END;
eg: select f_pinyin('我爱中华!') from dual
WAZH!
oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下Sql代码
--oracle汉字转拼音 PACKAGE
--1.获得全拼
SELECT GETHZPY.GETHZFULLPY('汉字') FROM DUAL;结果 : HanZi
--2.拼音首字母
SELECT GETHZPY.GETHZPYCAP('汉字') FROM DUAL;结果 : HZ
--3.拼音截取等
SELECT GETHZPY.GETHZPYCAPSUBSTR('汉字', 0, 1) FROM DUAL;结果 : H
代码部分太长挂在附件上 以下代码如果在 PL/SQL Developer 执行的话,选择 Command Window 粘贴.
附件在最下面.
oracle汉字转拼音package_获得全拼——拼音首字母_拼音截取等.zip (35.9 KB)
首先你得有 对应的汉字拼音表
然后才能、写个函数 做转换
Oracle
欧瑞可
随便你怎么读都可以的。。反正字典上没有。。
这个单词是由三个音节组成
O就和O my god里面那个O是一样的发音。。
ra就和单词“race”里面那个ra一样的发音。。
cle就和bicycle里面的那个cle一样发音。。
晓得不?