为了自己使用方便,转其他网友写法
create or replace function func_get_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');
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;
相关推荐
oracle获取汉字拼音拼音首字母的功能函数 oracle 获取汉字拼音
Oracle汉字拼音首字母函数
Oracle查询取汉字拼音首字母Function
使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母
Oracle获取汉字拼音和拼音首字母的功能函数
oracle生成拼音、五笔首字母的functions方法,亲测有效!!!
完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数 方案一(是方案二的包体方式)pinyin(拼音之间有空格) 方案二(较慢)常用中文字符转全拼音函数(有空格) 方案三(最优)完整简洁的Oracle获得汉字字符串拼音首字母...
--此函数默认返回汉字拼音的首字母,第二个参数不为空则返回全拼。 create or replace function f_getFirstOrFullSpell(p_cnStr In varchar2,p_sign In number default null) return varchar2 as lv_spell varchar2...
oracle创建函数生成拼音码(汉字首字母)
直接是数据库语句,帮助你用sql获得汉子字符串的首字母,从而完成输入首字完成模糊查询功能。
请各网友本着共享精神,逐渐将此文档补全,供大家共同使用,此文档与本人上传的另一份oracle汉字转拼音的文档可以对比参看,先前一份函数全但存在好多问题,这份文档只有转全拼小写的部分,评论一句就可下载了。
批量修改汉字转拼音首字母
oracle汉字转拼音函数,支持拼音大小写,首字母
Oracle中进行汉字转换成拼音,通过参数不同可以返回拼音首字母或全拼: --调用方式: SELECT f_getSpell('江西') from dual; --返回 'jx' --SELECT f_getSpell('江西',0) from dual; --返回 'jiangxi'
用函数实现的取汉字的五笔头字母.简单实用.
oracle汉字转拼音package 1.获得全拼 2.拼音首字母 3.拼音截取等 需要用的时候,调用这个包里的函数,就可以获得全部拼音 SQL codeselect GetHZPY.GetHzFullPY('汉字') from dual result:HanZi 调用这个 SQL ...
获取汉字字符串拼音简码,以每个字拼音首字母为标准。
java代码汉字转五笔码;oracle函数汉字转五笔码(五笔首字母)
汉字转拼音的函数,通过不加参数或者加参数1、2、3、4可实现全拼小写、全拼大写、全拼首字母大写、首拼小写、首拼大写
获取汉字首字母拼音 Oracle 拼音检索函数 已对性能和频度优化 调用速度快。select f_pinyin('中国') from dual; select * from table where f_pinyin(field) like '%%';